US20090271577A1 - Peer-to-peer network content object information caching - Google Patents

Peer-to-peer network content object information caching Download PDF

Info

Publication number
US20090271577A1
US20090271577A1 US12/495,687 US49568709A US2009271577A1 US 20090271577 A1 US20090271577 A1 US 20090271577A1 US 49568709 A US49568709 A US 49568709A US 2009271577 A1 US2009271577 A1 US 2009271577A1
Authority
US
United States
Prior art keywords
object information
content object
anticipated
node
local node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/495,687
Inventor
David Anthony Campana
Brendan Gregory Elliott
James Albert Johnson, III
Carlos Eduardo Ramirez
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lee Capital LLC
Original Assignee
Lee Capital LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lee Capital LLC filed Critical Lee Capital LLC
Priority to US12/495,687 priority Critical patent/US20090271577A1/en
Assigned to LEE CAPITAL LLC reassignment LEE CAPITAL LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BLUE CHIP IV LIMITED PARTNERSHIP
Publication of US20090271577A1 publication Critical patent/US20090271577A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Definitions

  • the present invention is directed to caching remote directory information and media content in a peer-to-peer network, and in particular to a method that caches such directory information in response to requests for specific items of the directory information.
  • TVs television receivers
  • stereos can act as “players” to play content
  • devices like digital versatile disc (DVD) players, personal computers (PCs) and video cameras can act as sources of content termed “receivers.”
  • Networking these devices allows content from a networked receiver node to play on a networked player node provided the nodes support a common content format and protocol. Further, node devices can support both player and receiver functionality.
  • a PC that is connected to a global information network such at the Internet, can receive on-line content from the network for rendering on a remote node player.
  • this same PC allows DVD content to play on the PC.
  • a networked DVD receiver node located in the den and typically used with the den TV, can provide content that is reproduced on a PC located in the master bedroom. In this home example, a master bedroom DVD is unnecessary. Accordingly, sharing content on the network can reduce the need for multiple receiver devices and players throughout the home.
  • UPnP Universal Plug and Play
  • CDS Context Directory Service
  • Users can browse descriptions of content available to network nodes. Further, users can search content for certain attributes such as a movie title.
  • User interfaces on controller nodes provide user access to CDS functionality on local and remote nodes.
  • the CDS capabilities support such remote browsing and searching, the user experience may be less than desirable.
  • browsing and searching across the network often results in a sluggish user experience.
  • the present invention relates to a peer-to-peer network system and methods of reducing network requests for network data thereby avoiding network delays and reducing the sluggish response experienced by users. Further, the present invention reduces response time for network requests originating within the local node.
  • a local network node maintains a cache of content object information from prior data requests that were received by the local node.
  • content object information is requested across the network only if it is not already stored in the local node cache memory.
  • the local node resizes a request for content object information to cause a larger amount of the object information than was requested to be retrieved and stored in the cache memory.
  • the local node anticipates a future request for content object information based on past requests, requests the anticipated remote data before it is actually requested and then caches the content object information when it is received.
  • FIG. 1 is a block diagram of an exemplary peer-to-peer networking system.
  • FIG. 2 is a block diagram of an exemplary remote media server for the peer to-peer networking system shown in FIG. 1 .
  • FIG. 3 is a block diagram of an exemplary peer-to-peer networking system having a server node and control node with user interface.
  • FIG. 4 is a block diagram of an exemplary peer-to-peer networking system having a server node and wireless control node with user interface.
  • FIG. 5 is a block diagram of an exemplary peer-to-peer networking system suitable for use in the present invention.
  • FIG. 8 is a flow-chart diagram useful in describing predictive data requests.
  • FIG. 9 is a data structure diagram that is useful for describing hierarchical predictive requests.
  • the present invention is embodied in a peer-to-peer network system with receiver and control nodes.
  • Nodes on the network support at least one of the following logical functions: content player, content receiver and controller.
  • these logical functions are referred to as Media Renderer, Media Server and Control Point respectively.
  • Media Servers expose media content to network nodes, access media content and report on the available media content. Additionally, most Media Servers store content. Requests for available media content information are provided by a set of services, termed Content Directory Services (CDS), on the Media Server.
  • CDS Content Directory Services
  • Media Renderers receive media content and render the content locally on the node. Depending on the Media Renderer capabilities, information regarding available media content may also be rendered.
  • Control Points ensure that specific content exposed by a Media Server can be rendered on a selected Media Renderer. To do so, the Control Point queries for a protocol and format common to both the Media Renderer and Media Server then configures the Media Renderer and Media Server for the content transfer.
  • a Control Point provides user interface functionality to service end user requests for information of available media content and content selection. Further, user requests for Media Renderer adjustments, such as volume control, and play control such as Play, Stop and Seek functions are processed by the Control Point.
  • UPnP CDS services maintain content object information for the content data on or accessible to the server.
  • each media server maintains its own content directory and any request for specific content or content object information is received and satisfied by the server on which the requested content or content object information resides.
  • the present invention expands the CDS services by maintaining cache memories of a portion of the CDS information, for example, the content object information, in one or more of the devices on the networks.
  • each of these devices maintain a list of content object information for content object information that the device has previously requested or that is likely to be requested soon.
  • the device may access the content immediately from the cache memory.
  • the devices because the devices maintain local copies of previously requested content object information in their cache memories, one device may be able to satisfy a request for content object information from another device, so that the other device does not need to access the CDS of the server.
  • FIG. 1 shows a configuration of a peer-to-peer system with nodes having the functionality of players, receivers and controllers or a combination thereof.
  • Peer-to-peer network 170 connects personal computer 100 , stereo 110 , video cassette recorder (VCR) 120 , networked TV 130 and DVD 140 .
  • DVD 140 interfaces with wireless DVD remote 150 and connected TV 160 .
  • Stereo 110 is a Media Renderer for playing audio media and optionally a Media Server for audio content.
  • TV 130 is a Media Renderer for video display and optionally a Media Server for video content received, for example, via an RF, cable or satellite tuner.
  • VCR 120 is a Media Server as it provides VCR content to the network.
  • DVD 140 serves three functions: it is a Control Point servicing user input from DVD Remote 150 , it is a Media Renderer by rendering video content and user requested output to direct connected TV 160 and it is a Media Server for DVD content.
  • PC 100 is a Media Server but optionally provides Media Rendering functions.
  • PC 100 may provide Control Point functionality supporting a user interface on PC 100 .
  • CDS 210 provides content object information to requesting network nodes. Moreover, CDS 210 performs browsing of control object information presented in a hierarchical directory structure similar to that of a file directory on a computer. Not only can CDS 210 traverse the directory structure, it can also search the content object information for specific information such as a song by title. UPnP CDS further provides for event subscription, event notification and status polling thereby enabling Control Points to recognize changes in the CDS content object information changes.
  • Optical disk 220 and hard disk 230 are optional sources of content on node 200 .
  • Node 200 need not store the actual content objects referenced by the content object information.
  • the content objects need only be accessible to node 200 .
  • CDS 210 can contain a virtual directory of content object information that is to say, content object information that points to the content on another server.
  • CDS 210 can aggregate content object information exposed by remote nodes connected to network 240 as well as sources outside network 240 .
  • virtual directories can be ordered by other criteria. For example, a specific content provider may desire a distinctive display of its content object information.
  • FIG. 3 is a block diagram that shows one UPnP network configuration consistent with aspects of the present invention.
  • Node 350 and node 300 are connected via network 360 .
  • Network node 350 includes Media Server 370 functionality and, as described above, optionally Media Renderer and/or Control Point functionality.
  • Node 300 provides a user interface by receiving user input requests from remote control unit 340 and displaying the requested information on TV 380 .
  • the exemplary TV 380 may display content object information in addition to rendering the content.
  • Media Renderer 310 directs content to TV 380 .
  • Media Render 310 can be integrated with Control Point 320 such that remote nodes render to TV 380 only through Control Point 320 .
  • Media Render 310 can be exposed to network 360 allowing other Control Points to render to TV 380 , bypassing. Control Point 320 .
  • Navigation and selection input means on remote 340 allow a user to browse and search content directories as well as select content for play.
  • Content control input means which may be operated to stop, play and start content rendering can also be provided. Examples of such input means include, without limitation, touch screens, buttons, jog wheels, touch pads, joysticks and mice.
  • User input signals from remote control unit 340 are transmitted to user interface task 330 .
  • Task 330 manages the user interface and issues data requests based on the user input signals, the capabilities of the output device TV 380 , and the current display state of the output device. The request is sent to Control Point 320 and display data is transmitted to Media Renderer 310 for display on TV 380 .
  • Node 400 has Media Server 410 functionality similar to that node 350 of FIG. 3 described above.
  • wireless control node 420 receives user request from an integrated user input device 440 and displays information on integrated user display 450 .
  • a wireless control node may be a hand-held device with a small display screen that also provides input means.
  • the display and input means may be separate. Examples of some input means include, without limitation, touch screens, buttons, jog wheels, touch pads, joysticks and mice.
  • Management of user display 450 and user input device 440 is performed by user interface task 460 .
  • task 460 Upon receipt of user input, task 460 generates a data request based on data provided by the user through the input device 440 , the capabilities of user display 450 and the current display state.
  • task 460 functionality is incorporated into Control Point 430 .
  • FIG. 5 is a block diagram of a computer system useful in describing aspects of the invention shown in FIGS. 6 , 7 and 8 .
  • a peer-to-peer network node exposing available content object information to remote network nodes and responsive to requests for the content object information is referred to as a “remote server node.”
  • a “local control node” refers to a peer-to-peer network node communicating with a remote server node, supporting user input requests or internal node requests, outputting content object information, and optionally content, in response to requests.
  • Control node 500 communicates with remote server node 506 using network 510 .
  • Control node 500 includes processing unit 501 , memory 503 , network interface 502 , embedded user input module 504 and embedded output module 505 .
  • user input module 504 may be external to local control node 500 as described above in reference to FIG. 3 (e.g. remote control unit 340 ).
  • Output module 505 may be external to local node 500 as described above in reference to FIG. 3 (e.g. TV 380 ).
  • Processing unit 501 may be a microcontroller or microprocessor available from vendors such as Intel, AMD, Motorola, Texas Instruments and others. In addition to user interface and network interface processing, processor unit 501 performs aspects of the present invention as described below and flow charted in FIGS. 6 , 7 and 8 .
  • Network interface 502 provides access to network 510 and may be a networking chip or a network interface card supporting wired or wireless network connectivity.
  • Processing unit 501 is coupled to memory 503 .
  • Memory 503 stores cached content object information and contains a control structure data to manage and access the cached content information.
  • memory 503 may store content objects and application data for processing unit 501 .
  • memory 503 is a random access memory (RAM) but could be one of or a combination of RAM, integrated storage, such as a disc, external storage device or removable storage device.
  • Remote server node 506 includes processing unit 508 , network interface 507 and memory 509 .
  • Processing unit 508 may be a microcontroller or microprocessor available from such vendors as described above.
  • network interface 507 functions to access network 510 and may also be a networking chip or a network card providing wired or wireless network connectivity.
  • Memory 509 stores content object information and optionally other data such as application data and/or content objects for processing unit 506 .
  • Memory 509 is RAM but could be one of or a combination of RAM, integrated storage such as a disc, external storage device or removable storage device.
  • One exemplary embodiment of the invention caches content object information in anticipation of requests from a user or processes internal to the local control node.
  • the processing unit requests the content object information from the remote server node, receives and stores the requested data to local control node memory as described below with respect to FIG. 6 steps 620 , 630 , 640 and 650 .
  • the local node becomes a virtual mirror of the remote node with respect to the content object information. Local requests for data can then be filled from the local remote memory thereby eliminating network access to satisfy the request.
  • another remote node requests the same content object information, it may be satisfied from the memory 509 of the remote note as well as from the server on which the content resides.
  • the exemplary caching system may use both cache memory and cache control information for cache management.
  • the processor unit indicates if remote node data is stored in the cache memory. There are numerous ways to store this control information. Examples are flags and pointers. Where multiple data sets can be stored in local node cache memory, the processor unit may determine what data is stored and where it is stored. Should the memory become full, any or all cache data may be deleted from memory. Preferably, the least frequently used cached data is deleted first so that more frequently accessed cached data remains available. In order to determine the cached data to delete, additional control data is helpful to determine, for example, how often or how recently content object information has been accessed to determine the best cache data to remove. The receipt time of the cached data, the remote node identifier and the last time the data was retrieved are other examples of such helpful data. Collectively, cache management data is referred to as the “cache control structure.”
  • the exemplary caching system uses some management functions. Where multiple data sets can be stored in local node cache memory, the processor unit searches its local cache memory for the requested data. When cache memory is full, the processor unit may free cache memory for new data. Moreover, the processor may invalidate the cache entry when the data stored in the corresponding remote server node changes.
  • the processor unit can invalidate cache memory entries.
  • One method is a timer. Upon expiration of the timer, the processor unit invalidates the cache control structure to reflect that the cache is empty.
  • the Media Server CDS function provides additional methods.
  • the processor unit queries or polls the remote server node for status using the GetSystemUpdateID function defined for UPnP CDS.
  • the local control node subscribes to, or registers with the remote server node to receive CDS event notifications such as SystemUpdateID or ContainerUpdateID.
  • a SystemUpdateID event indicates that the CDS changed while ContainerUpdateID event indicates that a content container has changed.
  • the remote server node sends the notification to the Control Point, and the Control Point invalidates the cache memory or at least an entry in the cache memory corresponding to the changed CDS entry.
  • the processor unit of the local control node determines if a data request can be filled from cache memory as flow charted in FIG. 6 .
  • a request for content object information is processed. Typically, the request is generated in response to user input but may originate from another process within node 600 .
  • the processor scans the cache control structure in local control node memory for an entry that satisfies the data request of step 600 . If an entry is found, the associated cached data is retrieved from memory at step 670 . Otherwise, at step 620 , the processor issues a network data request through the network interface for the requested content object information.
  • the processor waits for the requested data. When the data is received, it is stored in local control node cache memory at step 640 .
  • the cache control structure is updated to indicate the presence of the cached data.
  • additional control data such as the last reference time is updated at step 650 for cache full memory management as described above.
  • the cache may maintain a history of received requests for use with anticipatory cache requests, as described below.
  • the requested data is processed.
  • the data may be formatted and displayed, for example, on a Media Renderer or on a dedicated display attached to the device (e.g. a LCD display on a portable audio device).
  • the data is returned to the requesting process.
  • the steps of FIG. 6 are implemented in several program processes or threads. This modularizes the processing and ensures that all processing is not stopped waiting for a single event or remote node data to arrive as can be the case for network requests.
  • a user interface process builds the data request at step 600 , and processes the requested data at step 660 .
  • the requesting process may build a data request 600 and process the requested data at step 660 .
  • Steps 610 , 670 , 640 and 650 are performed by a cache management process.
  • Steps 620 and 630 are processed by a network communication thread. Events or messages are passed between the processes to perform the functions of FIG. 6 .
  • FIG. 7 is a flow chart for a method of caching whereby the processor unit of the local control node resizes a request in anticipation of a future request.
  • the method involves determining the probability or likelihood that data in addition to the requested content object information will be requested in the future. If this probability is greater than a threshold (e.g. 50 percent), the request is resized and any identified additional content object information is added to the original request.
  • steps 720 , 730 and 780 address this aspect of the present invention.
  • processing is similar to that of the similarly named steps of FIG. 6 discussed above. Specifically, steps 700 , 710 and 790 match steps 600 , 610 and 670 respectively. Steps 740 , 750 , 760 and 770 match steps 620 , 630 , 640 and 650 respectively.
  • the processor unit examines and possibly resizes the data request.
  • One factor in determining whether to resize a request is the size of the request itself. For example, the increased time to retrieve six items over that of retrieving three items can add a small amount of additional time to the one request which is much less than the amount of time for two additional requests for two items.
  • Another determining factor for resizing is ordering of the requested data output.
  • the initial request is for data likely to be displayed consecutively such as in a listing of content object information, often it is more efficient to revise the request size.
  • a content object information list of 30 available movie titles and the user browsing items 11-20. Because it is common for a user to page down or up through the list of 30 title items, it is advantageous at step 730 to resize the request to retrieve items 1-30 as the list is displayed consecutively.
  • increasing the request size eliminates the need for two entire message requests for items 1-10 and 21-30 as well as the additional packet overhead in returning data for these two requests.
  • the size of the resize request is not limited to the entire list. It is contemplated that smaller resize operations may also provide benefit. In the above scenario, for example, when the user accesses items 11-20 it may be assumed that he or she has no interest in items 1-10 and the request may be resized to encompass only items 11-30.
  • Integrated user display 450 in this embodiment may be, for example, the display of a hand-held device. If so, a user page down request during browsing uses less data to fill the small hand-held device screen. Because there is less data on the screen, it is more likely the user will be paging down or up more often to see the titles. By caching the entire list of titles, or at least a larger subset of the list, further network requests may be reduced or eliminated. Resizing the request does use additional processing when the data for the resized request arrives at step 760 . All or part of the data can be cached, but at step 780 , only the data responsive to the original request at step 700 is processed. As described above with respect to FIG. 6 , modularity and process flow may make it desirable to implement the steps of FIG. 7 in several program processes or threads.
  • predictive message requesting uses past message requests to predict a future request.
  • the predictive request is issued and the data is stored to local control node memory.
  • the processor unit may store the original requests, such as those of FIG. 6 step 600 and FIG. 7 step 700 , to local node memory referred to as “request history memory.”
  • the processor unit performs the steps of FIG. 8 periodically, during processor idle time, after a data request is processed by the requester, such as in step 660 of FIG. 6 and step 780 of FIG. 7 , or as part any data request.
  • predictive caching is performed during idle time when the processor unit is not servicing data requests.
  • the processor determines if a recently satisfied request corresponds to a request that was previously stored in the request history memory. If so at step 810 , the processor unit reviews the request history memory for a pattern.
  • the processor unit generates a predictive data request for items 41-60 as a data request for these items is likely.
  • top level list 900 With items “Music”, “Movies” and “Radio”. Each of the top level list 900 items may have items or “children” within that category.
  • selection of “Music” reveals the children in intermediate list 910 items “All”, “Albums”, “Artists” and “Play Lists.” Further, if item 920 “Albums” is selected, bottom level list 930 is exposed with album items “Cracked Rear View”, “Jagged Little Pill” and “Tuesday Night Music Club.”
  • the processor predicts that the lower level may be selected and peremptorily requests and caches the content object information for the lower level.
  • lower list 930 is cached for possible presentation upon selection of item 920 .
  • this example addresses caching the lowest level information in the hierarchy, often termed “drilling down”, this caching can be performed at any level of the hierarchy. Accordingly, highlighting item “Music” in top level list 900 causes intermediate list 910 items to be cached.
  • a network request for the data is issued at step 830 , preferably through a network communication thread.
  • the processor unit waits for arrival of the request content object information. Once this data is received, at step 850 the data is stored to cache memory and at step 860 , the cache structure is updated.
  • the invention may be implemented in software that may run on the processor 501 and memory 503 of the local node shown in FIG. 5 .
  • the software may be embodied in a carrier such as an optical or magnetic disc, a memory card or an audio frequency, radio frequency or optical carrier wave.

Abstract

In a peer-to-peer network system, a local node communicates with a remote node on which detailed information about content objects resides and optionally, the content objects reside. The local node uses caching, message request resizing and predictive message requesting to speed response time to user requests and internal control node requests.

Description

    RELATED APPLICATIONS
  • This application is a continuation of and claims benefit of priority to pending U.S. patent application Ser. No. 10/868,110, filed Jun. 15, 2004 which is incorporated herein in its entirety.
  • FIELD OF THE INVENTION
  • The present invention is directed to caching remote directory information and media content in a peer-to-peer network, and in particular to a method that caches such directory information in response to requests for specific items of the directory information.
  • BACKGROUND
  • The increased use of electronic devices, such as digital cameras, DVDs, PCs, wireless Personal Digital Assistants (PDAs), stereos and TVs has resulted in increased interest in networking these devices, particularly in a home environment. Devices such as television receivers (TVs) and stereos can act as “players” to play content while devices like digital versatile disc (DVD) players, personal computers (PCs) and video cameras can act as sources of content termed “receivers.” Networking these devices allows content from a networked receiver node to play on a networked player node provided the nodes support a common content format and protocol. Further, node devices can support both player and receiver functionality. For example, a PC, that is connected to a global information network such at the Internet, can receive on-line content from the network for rendering on a remote node player. When equipped with DVD player software, this same PC allows DVD content to play on the PC. Applying this example to a home environment, a networked DVD receiver node located in the den, and typically used with the den TV, can provide content that is reproduced on a PC located in the master bedroom. In this home example, a master bedroom DVD is unnecessary. Accordingly, sharing content on the network can reduce the need for multiple receiver devices and players throughout the home.
  • There are several peer-to-peer network descriptions that both support player and receiver nodes. Ease of use is especially desirable in the home environment. Available content and node capabilities are desirably discoverable by other nodes. Moreover, it may be desirable to have a master controller for directing a specific content from one receiver node on the network to a networked player node.
  • Among the peer-to-peer network descriptions providing these features is Universal Plug and Play (UPnP). UPnP provides services to enumerate available content available on the network. UPnP Context Directory Service (CDS) allows users to browse descriptions of content available to network nodes. Further, users can search content for certain attributes such as a movie title. User interfaces on controller nodes provide user access to CDS functionality on local and remote nodes.
  • While the CDS capabilities support such remote browsing and searching, the user experience may be less than desirable. During high network traffic periods, browsing and searching across the network often results in a sluggish user experience.
  • SUMMARY OF THE INVENTION
  • The present invention relates to a peer-to-peer network system and methods of reducing network requests for network data thereby avoiding network delays and reducing the sluggish response experienced by users. Further, the present invention reduces response time for network requests originating within the local node. In one aspect of the invention, a local network node maintains a cache of content object information from prior data requests that were received by the local node. In another aspect of the invention, content object information is requested across the network only if it is not already stored in the local node cache memory. In yet another aspect of the invention, the local node resizes a request for content object information to cause a larger amount of the object information than was requested to be retrieved and stored in the cache memory. According to yet another aspect of the invention, the local node anticipates a future request for content object information based on past requests, requests the anticipated remote data before it is actually requested and then caches the content object information when it is received.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of an exemplary peer-to-peer networking system.
  • FIG. 2 is a block diagram of an exemplary remote media server for the peer to-peer networking system shown in FIG. 1.
  • FIG. 3 is a block diagram of an exemplary peer-to-peer networking system having a server node and control node with user interface.
  • FIG. 4 is a block diagram of an exemplary peer-to-peer networking system having a server node and wireless control node with user interface.
  • FIG. 5 is a block diagram of an exemplary peer-to-peer networking system suitable for use in the present invention.
  • FIG. 6 is a flow-chart diagram useful in describing remote data caching.
  • FIG. 7 is a flow-chart diagram useful in describing resizing a data request.
  • FIG. 8 is a flow-chart diagram useful in describing predictive data requests.
  • FIG. 9 is a data structure diagram that is useful for describing hierarchical predictive requests.
  • DESCRIPTION OF THE INVENTION
  • The present invention is embodied in a peer-to-peer network system with receiver and control nodes. Nodes on the network support at least one of the following logical functions: content player, content receiver and controller. Utilizing the terminology of UPnP, these logical functions are referred to as Media Renderer, Media Server and Control Point respectively.
  • Media Servers expose media content to network nodes, access media content and report on the available media content. Additionally, most Media Servers store content. Requests for available media content information are provided by a set of services, termed Content Directory Services (CDS), on the Media Server.
  • Media Renderers receive media content and render the content locally on the node. Depending on the Media Renderer capabilities, information regarding available media content may also be rendered.
  • Control Points ensure that specific content exposed by a Media Server can be rendered on a selected Media Renderer. To do so, the Control Point queries for a protocol and format common to both the Media Renderer and Media Server then configures the Media Renderer and Media Server for the content transfer. Optionally, a Control Point provides user interface functionality to service end user requests for information of available media content and content selection. Further, user requests for Media Renderer adjustments, such as volume control, and play control such as Play, Stop and Seek functions are processed by the Control Point.
  • As described below, UPnP CDS services maintain content object information for the content data on or accessible to the server. In existing systems, each media server maintains its own content directory and any request for specific content or content object information is received and satisfied by the server on which the requested content or content object information resides. Briefly, the present invention expands the CDS services by maintaining cache memories of a portion of the CDS information, for example, the content object information, in one or more of the devices on the networks. According to an exemplary embodiment of the invention, each of these devices maintain a list of content object information for content object information that the device has previously requested or that is likely to be requested soon. When the device requests content object information that is already in the local cache memory, the device may access the content immediately from the cache memory. In an alternative embodiment of the invention, because the devices maintain local copies of previously requested content object information in their cache memories, one device may be able to satisfy a request for content object information from another device, so that the other device does not need to access the CDS of the server.
  • FIG. 1 shows a configuration of a peer-to-peer system with nodes having the functionality of players, receivers and controllers or a combination thereof. Peer-to-peer network 170 connects personal computer 100, stereo 110, video cassette recorder (VCR) 120, networked TV 130 and DVD 140. DVD 140 interfaces with wireless DVD remote 150 and connected TV 160. Stereo 110 is a Media Renderer for playing audio media and optionally a Media Server for audio content. Similarly TV 130 is a Media Renderer for video display and optionally a Media Server for video content received, for example, via an RF, cable or satellite tuner. VCR 120 is a Media Server as it provides VCR content to the network. In the exemplary configuration, DVD 140 serves three functions: it is a Control Point servicing user input from DVD Remote 150, it is a Media Renderer by rendering video content and user requested output to direct connected TV 160 and it is a Media Server for DVD content. PC 100 is a Media Server but optionally provides Media Rendering functions. PC 100 may provide Control Point functionality supporting a user interface on PC 100.
  • FIG. 2 shows a block diagram of a node supporting Media Server functionality connected to network 240. As a node with this functionality, node 200 provides Content Directory Services (CDS) 210 for exposing content accessible to node 200. Content exposed by the CDS may include a single content “item” such as a song or a “container” for a group of content items such as a collection of songs along with the associated song play list. Collectively, content items and content containers are termed “content objects.” Content objects may also contain “metadata.” The metadata is detailed information that may include the formats and protocols supported for the object, a play list for a content container, information as to the title, artist, publisher, provider of the content object and other information. This metadata or parts of it is referred to as “content object information.” CDS 210 provides content object information to requesting network nodes. Moreover, CDS 210 performs browsing of control object information presented in a hierarchical directory structure similar to that of a file directory on a computer. Not only can CDS 210 traverse the directory structure, it can also search the content object information for specific information such as a song by title. UPnP CDS further provides for event subscription, event notification and status polling thereby enabling Control Points to recognize changes in the CDS content object information changes.
  • Optical disk 220 and hard disk 230 are optional sources of content on node 200. Node 200 need not store the actual content objects referenced by the content object information. The content objects need only be accessible to node 200. Accordingly, CDS 210 can contain a virtual directory of content object information that is to say, content object information that points to the content on another server. CDS 210 can aggregate content object information exposed by remote nodes connected to network 240 as well as sources outside network 240. Further, virtual directories can be ordered by other criteria. For example, a specific content provider may desire a distinctive display of its content object information.
  • FIG. 3 is a block diagram that shows one UPnP network configuration consistent with aspects of the present invention. Node 350 and node 300 are connected via network 360. Network node 350 includes Media Server 370 functionality and, as described above, optionally Media Renderer and/or Control Point functionality. Node 300 provides a user interface by receiving user input requests from remote control unit 340 and displaying the requested information on TV 380. The exemplary TV 380 may display content object information in addition to rendering the content. Media Renderer 310 directs content to TV 380. Media Render 310 can be integrated with Control Point 320 such that remote nodes render to TV 380 only through Control Point 320. Alternatively, Media Render 310 can be exposed to network 360 allowing other Control Points to render to TV 380, bypassing. Control Point 320.
  • Navigation and selection input means on remote 340 allow a user to browse and search content directories as well as select content for play. Content control input means which may be operated to stop, play and start content rendering can also be provided. Examples of such input means include, without limitation, touch screens, buttons, jog wheels, touch pads, joysticks and mice. User input signals from remote control unit 340 are transmitted to user interface task 330. Task 330 manages the user interface and issues data requests based on the user input signals, the capabilities of the output device TV 380, and the current display state of the output device. The request is sent to Control Point 320 and display data is transmitted to Media Renderer 310 for display on TV 380.
  • Another UPnP configuration consistent with aspects of the present invention is shown in FIG. 4. Node 400 has Media Server 410 functionality similar to that node 350 of FIG. 3 described above. Unlike node 300 of FIG. 3, wireless control node 420 receives user request from an integrated user input device 440 and displays information on integrated user display 450. Typically, such a wireless control node may be a hand-held device with a small display screen that also provides input means. Alternatively, the display and input means may be separate. Examples of some input means include, without limitation, touch screens, buttons, jog wheels, touch pads, joysticks and mice. Management of user display 450 and user input device 440 is performed by user interface task 460. Upon receipt of user input, task 460 generates a data request based on data provided by the user through the input device 440, the capabilities of user display 450 and the current display state. Optionally, task 460 functionality is incorporated into Control Point 430.
  • FIG. 5 is a block diagram of a computer system useful in describing aspects of the invention shown in FIGS. 6, 7 and 8. For the sake of clarity, a peer-to-peer network node exposing available content object information to remote network nodes and responsive to requests for the content object information is referred to as a “remote server node.” A “local control node” refers to a peer-to-peer network node communicating with a remote server node, supporting user input requests or internal node requests, outputting content object information, and optionally content, in response to requests.
  • With reference to FIG. 5, local control node 500 communicates with remote server node 506 using network 510. Control node 500 includes processing unit 501, memory 503, network interface 502, embedded user input module 504 and embedded output module 505. Alternatively, user input module 504 may be external to local control node 500 as described above in reference to FIG. 3 (e.g. remote control unit 340). Output module 505 may be external to local node 500 as described above in reference to FIG. 3 (e.g. TV 380). Processing unit 501 may be a microcontroller or microprocessor available from vendors such as Intel, AMD, Motorola, Texas Instruments and others. In addition to user interface and network interface processing, processor unit 501 performs aspects of the present invention as described below and flow charted in FIGS. 6, 7 and 8.
  • Network interface 502 provides access to network 510 and may be a networking chip or a network interface card supporting wired or wireless network connectivity.
  • Processing unit 501 is coupled to memory 503. Memory 503 stores cached content object information and contains a control structure data to manage and access the cached content information. Optionally, memory 503 may store content objects and application data for processing unit 501. Preferably memory 503 is a random access memory (RAM) but could be one of or a combination of RAM, integrated storage, such as a disc, external storage device or removable storage device.
  • Remote server node 506 includes processing unit 508, network interface 507 and memory 509. Processing unit 508 may be a microcontroller or microprocessor available from such vendors as described above. As described in reference to network interface 502, network interface 507 functions to access network 510 and may also be a networking chip or a network card providing wired or wireless network connectivity.
  • Memory 509 stores content object information and optionally other data such as application data and/or content objects for processing unit 506. Memory 509 is RAM but could be one of or a combination of RAM, integrated storage such as a disc, external storage device or removable storage device.
  • One exemplary embodiment of the invention caches content object information in anticipation of requests from a user or processes internal to the local control node. According to this embodiment, the processing unit requests the content object information from the remote server node, receives and stores the requested data to local control node memory as described below with respect to FIG. 6 steps 620, 630, 640 and 650. The local node becomes a virtual mirror of the remote node with respect to the content object information. Local requests for data can then be filled from the local remote memory thereby eliminating network access to satisfy the request. Furthermore, if another remote node requests the same content object information, it may be satisfied from the memory 509 of the remote note as well as from the server on which the content resides.
  • The exemplary caching system may use both cache memory and cache control information for cache management. Minimally, the processor unit indicates if remote node data is stored in the cache memory. There are numerous ways to store this control information. Examples are flags and pointers. Where multiple data sets can be stored in local node cache memory, the processor unit may determine what data is stored and where it is stored. Should the memory become full, any or all cache data may be deleted from memory. Preferably, the least frequently used cached data is deleted first so that more frequently accessed cached data remains available. In order to determine the cached data to delete, additional control data is helpful to determine, for example, how often or how recently content object information has been accessed to determine the best cache data to remove. The receipt time of the cached data, the remote node identifier and the last time the data was retrieved are other examples of such helpful data. Collectively, cache management data is referred to as the “cache control structure.”
  • Additionally, the exemplary caching system uses some management functions. Where multiple data sets can be stored in local node cache memory, the processor unit searches its local cache memory for the requested data. When cache memory is full, the processor unit may free cache memory for new data. Moreover, the processor may invalidate the cache entry when the data stored in the corresponding remote server node changes.
  • There are several ways the processor unit can invalidate cache memory entries. One method is a timer. Upon expiration of the timer, the processor unit invalidates the cache control structure to reflect that the cache is empty. Under UPnP, the Media Server CDS function provides additional methods. In one method, the processor unit queries or polls the remote server node for status using the GetSystemUpdateID function defined for UPnP CDS. In one exemplary method, the local control node subscribes to, or registers with the remote server node to receive CDS event notifications such as SystemUpdateID or ContainerUpdateID. A SystemUpdateID event indicates that the CDS changed while ContainerUpdateID event indicates that a content container has changed. When a change event occurs, the remote server node sends the notification to the Control Point, and the Control Point invalidates the cache memory or at least an entry in the cache memory corresponding to the changed CDS entry.
  • In another exemplary embodiment of the invention, the processor unit of the local control node determines if a data request can be filled from cache memory as flow charted in FIG. 6. At step 600, a request for content object information is processed. Typically, the request is generated in response to user input but may originate from another process within node 600. At step 610, the processor scans the cache control structure in local control node memory for an entry that satisfies the data request of step 600. If an entry is found, the associated cached data is retrieved from memory at step 670. Otherwise, at step 620, the processor issues a network data request through the network interface for the requested content object information. At step 630, the processor waits for the requested data. When the data is received, it is stored in local control node cache memory at step 640.
  • At step 650, the cache control structure is updated to indicate the presence of the cached data. Optionally, in the case of multiple cached data sets, once data from cache memory is retrieved at step 670, additional control data such as the last reference time is updated at step 650 for cache full memory management as described above. Furthermore, the cache may maintain a history of received requests for use with anticipatory cache requests, as described below.
  • At step 660, the requested data is processed. Where the content object information request at step 600 is initiated by user input, the data may be formatted and displayed, for example, on a Media Renderer or on a dedicated display attached to the device (e.g. a LCD display on a portable audio device). In the case of a data request originating from an internal node process, the data is returned to the requesting process.
  • Preferably, the steps of FIG. 6 are implemented in several program processes or threads. This modularizes the processing and ensures that all processing is not stopped waiting for a single event or remote node data to arrive as can be the case for network requests. For data requests initiated by user input, a user interface process builds the data request at step 600, and processes the requested data at step 660. For internal node requests, the requesting process may build a data request 600 and process the requested data at step 660. Steps 610, 670, 640 and 650 are performed by a cache management process. Steps 620 and 630 are processed by a network communication thread. Events or messages are passed between the processes to perform the functions of FIG. 6.
  • In accordance with yet another exemplary embodiment of the invention, FIG. 7 is a flow chart for a method of caching whereby the processor unit of the local control node resizes a request in anticipation of a future request. In general, the method involves determining the probability or likelihood that data in addition to the requested content object information will be requested in the future. If this probability is greater than a threshold (e.g. 50 percent), the request is resized and any identified additional content object information is added to the original request. In FIG. 7 steps 720, 730 and 780 address this aspect of the present invention. For other steps, processing is similar to that of the similarly named steps of FIG. 6 discussed above. Specifically, steps 700, 710 and 790 match steps 600, 610 and 670 respectively. Steps 740, 750, 760 and 770 match steps 620, 630, 640 and 650 respectively.
  • At step 720, the processor unit examines and possibly resizes the data request. One factor in determining whether to resize a request is the size of the request itself. For example, the increased time to retrieve six items over that of retrieving three items can add a small amount of additional time to the one request which is much less than the amount of time for two additional requests for two items.
  • Another determining factor for resizing is ordering of the requested data output. Where the initial request is for data likely to be displayed consecutively such as in a listing of content object information, often it is more efficient to revise the request size. Consider a content object information list of 30 available movie titles and the user browsing items 11-20. Because it is common for a user to page down or up through the list of 30 title items, it is advantageous at step 730 to resize the request to retrieve items 1-30 as the list is displayed consecutively. Here, increasing the request size eliminates the need for two entire message requests for items 1-10 and 21-30 as well as the additional packet overhead in returning data for these two requests. The size of the resize request is not limited to the entire list. It is contemplated that smaller resize operations may also provide benefit. In the above scenario, for example, when the user accesses items 11-20 it may be assumed that he or she has no interest in items 1-10 and the request may be resized to encompass only items 11-30.
  • The advantages of this technique are best illustrated in view of exemplary peer-to-peer network FIG. 4. Integrated user display 450 in this embodiment may be, for example, the display of a hand-held device. If so, a user page down request during browsing uses less data to fill the small hand-held device screen. Because there is less data on the screen, it is more likely the user will be paging down or up more often to see the titles. By caching the entire list of titles, or at least a larger subset of the list, further network requests may be reduced or eliminated. Resizing the request does use additional processing when the data for the resized request arrives at step 760. All or part of the data can be cached, but at step 780, only the data responsive to the original request at step 700 is processed. As described above with respect to FIG. 6, modularity and process flow may make it desirable to implement the steps of FIG. 7 in several program processes or threads.
  • Referring now to FIG. 8, predictive message requesting uses past message requests to predict a future request. The predictive request is issued and the data is stored to local control node memory. In order to review past requests, the processor unit may store the original requests, such as those of FIG. 6 step 600 and FIG. 7 step 700, to local node memory referred to as “request history memory.” The processor unit performs the steps of FIG. 8 periodically, during processor idle time, after a data request is processed by the requester, such as in step 660 of FIG. 6 and step 780 of FIG. 7, or as part any data request. Preferably, predictive caching is performed during idle time when the processor unit is not servicing data requests. At step 800, the processor determines if a recently satisfied request corresponds to a request that was previously stored in the request history memory. If so at step 810, the processor unit reviews the request history memory for a pattern.
  • Among the recognized patterns is repeated user requests for page up or page down through a content object information list of items. In this case, where an initial request for items 1-20 is followed by a request for items 21-40, the processor unit generates a predictive data request for items 41-60 as a data request for these items is likely.
  • Another recognized pattern is caching items in a hierarchical content object information listing. Referring now to FIG. 9, consider top level list 900 with items “Music”, “Movies” and “Radio”. Each of the top level list 900 items may have items or “children” within that category. For example, selection of “Music” reveals the children in intermediate list 910 items “All”, “Albums”, “Artists” and “Play Lists.” Further, if item 920 “Albums” is selected, bottom level list 930 is exposed with album items “Cracked Rear View”, “Jagged Little Pill” and “Tuesday Night Music Club.” In accordance with this aspect of the invention, when the user highlights or moves a pointer over an item, but has yet to select the item, the processor predicts that the lower level may be selected and peremptorily requests and caches the content object information for the lower level. In this example, lower list 930 is cached for possible presentation upon selection of item 920. Although this example addresses caching the lowest level information in the hierarchy, often termed “drilling down”, this caching can be performed at any level of the hierarchy. Accordingly, highlighting item “Music” in top level list 900 causes intermediate list 910 items to be cached.
  • Referring again to FIG. 8, if at step 820, the processor unit recognizes a pattern, a network request for the data is issued at step 830, preferably through a network communication thread. At step 840, the processor unit waits for arrival of the request content object information. Once this data is received, at step 850 the data is stored to cache memory and at step 860, the cache structure is updated.
  • It is contemplated that the invention may be implemented in software that may run on the processor 501 and memory 503 of the local node shown in FIG. 5. In this embodiment of the invention, the software may be embodied in a carrier such as an optical or magnetic disc, a memory card or an audio frequency, radio frequency or optical carrier wave.
  • It is understood that the drawings and descriptions herein are offered by way of example to facilitate understanding of the invention. It is understood by those skilled in the art that various changes in form can generate additional embodiments and modifications without departing from the spirit and scope of the invention.

Claims (26)

1.-20. (canceled)
21. A method, comprising:
identifying anticipated content object information in advance of a predicted request to a local node for the anticipated content object information;
determining if a likelihood that the anticipated content object information will be requested meets or exceeds a threshold;
if the likelihood meets or exceeds the threshold, requesting the anticipated content object information from a remote node and storing the anticipated content object information in a cache memory of the local node; and
in response to an actual request to the local node for certain content object information, fulfilling the actual request at least in part using the anticipated content object information previously stored in the cache memory of the local node.
22. The method according to claim 21 wherein the identifying anticipated content object information further includes reviewing past requests and identifying a pattern.
23. The method according to claim 22 further including storing a history of the past requests in the cache memory of the local node.
24. The method according to claim 22 wherein the identifying a pattern includes identifying a repeated sequence of user requests.
25. The method according to claim 21 wherein the requesting the anticipated content object information from the remote node includes resizing a current request for base content object information so as to add additional content object information to the base content object information.
26. The method according to claim 25 wherein the resizing the current request includes adding additional content object information consecutive in ordering with the base content object information.
27. The method according to claim 25 wherein the resizing the current request includes determining if the base content object information is from a hierarchically ordered set of content object information entries and adding additional content object information lower in the hierarchy of the hierarchically ordered set of content object information entries.
28. The method according to claim 21 wherein the content object information is content object information provided according to Content Directory Services (CDS) of a Universal Plug and Play (UPnP) network.
29. The method according to claim 21 wherein the requesting the anticipated content object information from the remote node further includes receiving the anticipated content object from the remote node when the anticipated content object is determined to be found in the remote node or receiving the anticipated content object information from a second remote node when the anticipated content object information is determined to be found in the second remote node through a reference to the second remote node from the first remote node.
30. The method according to claim 21 wherein the storing the anticipated content object information in the cache memory of the local node includes:
determining if the cache memory of the local node is full; and
if the cache memory of the local node is full:
identifying one content object information entry in the cache memory of the local node that is less likely to be accessed than another content object information entry in the cache memory of the local node; and
storing the anticipated content object information in place of the identified content object information entry.
31. The method according to claim 30 wherein the identifying the one content object information entry in the cache memory that is less likely to be accessed than the other content object information entry in the cache memory of the local node includes:
determining how recently each content object information entry has been accessed; and
identifying a least recently accessed content object information entry as the identified one content object information entry.
32. The method according to claim 30 wherein the identifying the one content object information entry in the cache memory that is less likely to be accessed than the other content object information entry in the cache memory of the local node includes:
determining how frequently each content object information entry in the cache memory of the local node has been accessed; and
identifying a least frequently accessed content object information entry as the identified one content object information entry.
33. A method, comprising:
identifying anticipated content object information in advance of a predicted request to a local node;
determining if the anticipated content object information is stored in a cache memory of the local node;
if not stored in the cache memory of the local node, receiving the anticipated content object information from a remote node so as to mirror an original entry in the remote node and storing the anticipated content object information in the cache memory of the local node;
in response to an actual request to the local node for explicit content object information, fulfilling the request using the anticipated content object information stored in the cache memory of the local node; and
in response to an indication of at least a likelihood the original entry has changed prior to the actual request, invalidating the anticipated content object information.
34. The method according to claim 33 wherein the invalidating the anticipated content object information further includes setting a timer when the anticipated content object information is first received from the remote node and determining when the timer setting has expired.
35. The method according to claim 33 wherein the invalidating the anticipated content object information further includes querying the remote node for a status regarding changed entries.
36. The method according to claim 33 wherein the invalidating the anticipated content object information further includes registering with the remote node for receiving notification from the remote node of changed entries.
37. The method according to claim 33, wherein the content object information is provided according to Content Directory Services (CDS) of a Universal Plug and Play (UPnP) network.
38. An apparatus, comprising:
a cache in a local node for storing items; and
a processor configured to:
identify anticipated content object information in advance of a predicted request to the local node for the anticipated content object information;
determine if a likelihood that the anticipated content object information will be requested meets or exceeds a threshold;
if the likelihood meets or exceeds the threshold, request the anticipated content object information from a remote node and store the anticipated content object information in the cache of the local node; and
in response to an actual request to the local node for certain content object information, fulfill the actual request at least in part using the anticipated content object information previously stored in the cache of the local node.
39. The apparatus of claim 38 wherein the processor is further configured to set a timer when the anticipated content object information is first received from the remote node and determining when the timer setting has expired.
40. The apparatus of claim 38 wherein the processor is further configured to query the remote node for a status regarding changed entries.
41. The apparatus of claim 38 wherein registering with the remote node to receive notification from the remote node of changed entries.
42. The apparatus of claim 38 wherein the content object information is provided according to Content Directory Services (CDS) of a Universal Plug and Play (UPnP) network.
43. A computer-readable medium having stored thereon, computer-executable instructions that, if executed by a device, cause the device to perform a method comprising:
identifying anticipated content object information in advance of a predicted request to a local node for the anticipated content object information;
determining if a likelihood that the anticipated content object information will be requested meets or exceeds a threshold;
if the likelihood meets or exceeds the threshold, requesting the anticipated content object information from a remote node and storing the anticipated content object information in a cache memory of the local node; and
in response to an actual request to the local node for certain content object information, fulfilling the actual request at least in part using the anticipated content object information previously stored in the cache memory of the local node.
44. The computer-readable medium of claim 43 wherein the method further comprises:
identifying anticipated content object information in advance of a predicted request to a local node;
determining if the anticipated content object information is stored in a cache memory of a local node;
if not stored in the cache memory of the local node, receiving the anticipated content object information from a remote node so as to mirror an original entry in the remote node and storing the anticipated content object information in the cache memory of the local node;
in response to an actual request to the local node for explicit content object information, fulfilling the request using the anticipated content object information stored in the cache memory of the local node; and
in response to an indication of at least a likelihood the original entry has changed prior to the actual request, invalidating the anticipated content object information.
45. An apparatus, comprising:
means for identifying anticipated content object information in advance of a predicted request to a local node for the anticipated content object information;
means for determining if a likelihood that the anticipated content object information will be requested meets or exceeds a threshold;
if the likelihood meets or exceeds the threshold, means for requesting the anticipated content object information from a remote node and means for storing the anticipated content object information in a cache memory of the local node; and
in response to an actual request to the local node for certain content object information, means for fulfilling the actual request at least in part using the anticipated content object information previously stored in the cache memory of the local node.
US12/495,687 2004-06-15 2009-06-30 Peer-to-peer network content object information caching Abandoned US20090271577A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/495,687 US20090271577A1 (en) 2004-06-15 2009-06-30 Peer-to-peer network content object information caching

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/868,110 US7571167B1 (en) 2004-06-15 2004-06-15 Peer-to-peer network content object information caching
US12/495,687 US20090271577A1 (en) 2004-06-15 2009-06-30 Peer-to-peer network content object information caching

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/868,110 Continuation US7571167B1 (en) 2004-06-15 2004-06-15 Peer-to-peer network content object information caching

Publications (1)

Publication Number Publication Date
US20090271577A1 true US20090271577A1 (en) 2009-10-29

Family

ID=40910237

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/868,110 Active 2026-03-10 US7571167B1 (en) 2004-06-15 2004-06-15 Peer-to-peer network content object information caching
US12/495,687 Abandoned US20090271577A1 (en) 2004-06-15 2009-06-30 Peer-to-peer network content object information caching

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/868,110 Active 2026-03-10 US7571167B1 (en) 2004-06-15 2004-06-15 Peer-to-peer network content object information caching

Country Status (1)

Country Link
US (2) US7571167B1 (en)

Cited By (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060149761A1 (en) * 2004-12-09 2006-07-06 Lg Electronics Inc. Structure of objects stored in a media server and improving accessibility to the structure
US20090248858A1 (en) * 2008-03-31 2009-10-01 Swaminathan Sivasubramanian Content management
US20100057931A1 (en) * 2008-08-28 2010-03-04 Riemers Bill C Fast http seeking
US20100205292A1 (en) * 2009-02-12 2010-08-12 Raul Diaz System and method for network optimization through predictive downloading
US20100202287A1 (en) * 2009-02-12 2010-08-12 Raul Diaz System and method for network optimization by managing low priority data transfers
US20110004664A1 (en) * 2009-07-03 2011-01-06 Siemens Ag Device and Method for Distributing and Forwarding Requests to a Plurality of Web Servers in an Industrial Automation Arrangement
US20110010591A1 (en) * 2008-03-14 2011-01-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and Apparatus for Providing End User Notification in a UPNP Network
US20110153736A1 (en) * 2008-06-30 2011-06-23 Amazon Technologies, Inc. Request routing using network computing components
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8060561B2 (en) 2008-03-31 2011-11-15 Amazon Technologies, Inc. Locality based content distribution
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US20110289414A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation Guided navigation
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8135820B2 (en) 2008-03-31 2012-03-13 Amazon Technologies, Inc. Request routing based on class
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US20120185543A1 (en) * 2011-01-18 2012-07-19 Samsung Electronics Co., Ltd. Apparatus and method for sharing information on a webpage
US8234403B2 (en) 2008-11-17 2012-07-31 Amazon Technologies, Inc. Updating routing information based on client location
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US8463877B1 (en) 2009-03-27 2013-06-11 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularitiy information
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8543702B1 (en) 2009-06-16 2013-09-24 Amazon Technologies, Inc. Managing resources using resource expiration data
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9246776B2 (en) 2009-10-02 2016-01-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US9288153B2 (en) 2010-08-26 2016-03-15 Amazon Technologies, Inc. Processing encoded content
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9628554B2 (en) 2012-02-10 2017-04-18 Amazon Technologies, Inc. Dynamic content delivery
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9787775B1 (en) 2010-09-28 2017-10-10 Amazon Technologies, Inc. Point of presence management in request routing
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US11290418B2 (en) 2017-09-25 2022-03-29 Amazon Technologies, Inc. Hybrid content request routing system
US11604667B2 (en) 2011-04-27 2023-03-14 Amazon Technologies, Inc. Optimized deployment based upon customer locality

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571167B1 (en) * 2004-06-15 2009-08-04 David Anthony Campana Peer-to-peer network content object information caching
EP2036307A1 (en) * 2006-06-30 2009-03-18 International Business Machines Corporation A method and apparatus for caching broadcasting information
KR101831686B1 (en) * 2010-06-14 2018-02-23 삼성전자주식회사 Method and apparatus for determinig object change in home network
CN102651861B (en) * 2011-02-24 2014-08-20 腾讯科技(深圳)有限公司 Download method for mobile terminal, mobile terminal and proxy download server
US9503510B2 (en) * 2012-03-10 2016-11-22 Headwater Partners Ii Llc Content distribution based on a value metric
US9154840B2 (en) * 2012-07-31 2015-10-06 Sony Corporation Reception apparatus, reception method, transmission apparatus, and transmission method
US20160065641A1 (en) * 2014-08-28 2016-03-03 Beau Ner Chesluk Global Distribution Model
CN105491078B (en) 2014-09-15 2019-01-22 阿里巴巴集团控股有限公司 Data processing method and device, SOA system in SOA system
AU2018331793A1 (en) * 2017-09-14 2020-03-26 Sony Corporation Information processing device, information processing method, and program

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020143944A1 (en) * 2001-01-22 2002-10-03 Traversat Bernard A. Advertisements for peer-to-peer computing resources
US6470344B1 (en) * 1999-05-29 2002-10-22 Oracle Corporation Buffering a hierarchical index of multi-dimensional data
US20020174189A1 (en) * 2001-04-23 2002-11-21 Luosheng Peng Apparatus and methods for intelligently caching applications and data on a mobile device
US20030046239A1 (en) * 2001-08-30 2003-03-06 Brad Geilfuss Content management and distribution
US6546464B2 (en) * 1999-01-08 2003-04-08 Nortel Networks Limited Method and apparatus for increasing data rates in a data network while maintaining system coherency
US20030073497A1 (en) * 2000-10-17 2003-04-17 Nelson Dwayne R. Dynamic NV-RAM
US20030120751A1 (en) * 2001-11-21 2003-06-26 Husain Syed Mohammad Amir System and method for providing virtual network attached storage using excess distributed storage capacity
US20030135591A1 (en) * 2002-01-15 2003-07-17 International Business Machines Corporation Distributed application deployment using program characteristics and environment characteristics
US20040041836A1 (en) * 2002-08-28 2004-03-04 Microsoft Corporation System and method for shared integrated online social interaction
US20040088376A1 (en) * 2002-10-30 2004-05-06 Nbt Technology, Inc. Transaction accelerator for client-server communication systems
US20040139097A1 (en) * 1995-04-11 2004-07-15 Kinetech, Inc. Identifying data in a data processing system
US20040220926A1 (en) * 2000-01-03 2004-11-04 Interactual Technologies, Inc., A California Cpr[P Personalization services for entities from multiple sources
US20050055512A1 (en) * 2003-09-05 2005-03-10 Kishi Gregory Tad Apparatus, system, and method flushing data from a cache to secondary storage
US20050114784A1 (en) * 2003-04-28 2005-05-26 Leslie Spring Rich media publishing
US20050172082A1 (en) * 2004-01-30 2005-08-04 Wei Liu Data-aware cache state machine
US20050216671A1 (en) * 2004-03-24 2005-09-29 Intel Corporation Integrated circuit capable of pre-fetching data
US20060155980A1 (en) * 2003-02-12 2006-07-13 Koninklijke Philips Electronics N.V. Method and system for reacting to a change of a upnp device
US20060168318A1 (en) * 2003-02-12 2006-07-27 Adam Twiss Methods and apparatus for traffic management in peer-to-peer networks
US7089301B1 (en) * 2000-08-11 2006-08-08 Napster, Inc. System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer
US7155676B2 (en) * 2000-12-19 2006-12-26 Coolernet System and method for multimedia authoring and playback
US7571167B1 (en) * 2004-06-15 2009-08-04 David Anthony Campana Peer-to-peer network content object information caching

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139097A1 (en) * 1995-04-11 2004-07-15 Kinetech, Inc. Identifying data in a data processing system
US6546464B2 (en) * 1999-01-08 2003-04-08 Nortel Networks Limited Method and apparatus for increasing data rates in a data network while maintaining system coherency
US6470344B1 (en) * 1999-05-29 2002-10-22 Oracle Corporation Buffering a hierarchical index of multi-dimensional data
US20040220926A1 (en) * 2000-01-03 2004-11-04 Interactual Technologies, Inc., A California Cpr[P Personalization services for entities from multiple sources
US7089301B1 (en) * 2000-08-11 2006-08-08 Napster, Inc. System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer
US20030073497A1 (en) * 2000-10-17 2003-04-17 Nelson Dwayne R. Dynamic NV-RAM
US7155676B2 (en) * 2000-12-19 2006-12-26 Coolernet System and method for multimedia authoring and playback
US20020184310A1 (en) * 2001-01-22 2002-12-05 Traversat Bernard A. Providing peer groups in a peer-to-peer environment
US20020143944A1 (en) * 2001-01-22 2002-10-03 Traversat Bernard A. Advertisements for peer-to-peer computing resources
US20020184357A1 (en) * 2001-01-22 2002-12-05 Traversat Bernard A. Rendezvous for locating peer-to-peer resources
US20020174189A1 (en) * 2001-04-23 2002-11-21 Luosheng Peng Apparatus and methods for intelligently caching applications and data on a mobile device
US20030046239A1 (en) * 2001-08-30 2003-03-06 Brad Geilfuss Content management and distribution
US20030120751A1 (en) * 2001-11-21 2003-06-26 Husain Syed Mohammad Amir System and method for providing virtual network attached storage using excess distributed storage capacity
US20030135591A1 (en) * 2002-01-15 2003-07-17 International Business Machines Corporation Distributed application deployment using program characteristics and environment characteristics
US20040041836A1 (en) * 2002-08-28 2004-03-04 Microsoft Corporation System and method for shared integrated online social interaction
US20040088376A1 (en) * 2002-10-30 2004-05-06 Nbt Technology, Inc. Transaction accelerator for client-server communication systems
US20060155980A1 (en) * 2003-02-12 2006-07-13 Koninklijke Philips Electronics N.V. Method and system for reacting to a change of a upnp device
US20060168318A1 (en) * 2003-02-12 2006-07-27 Adam Twiss Methods and apparatus for traffic management in peer-to-peer networks
US20050114784A1 (en) * 2003-04-28 2005-05-26 Leslie Spring Rich media publishing
US20050055512A1 (en) * 2003-09-05 2005-03-10 Kishi Gregory Tad Apparatus, system, and method flushing data from a cache to secondary storage
US20050172082A1 (en) * 2004-01-30 2005-08-04 Wei Liu Data-aware cache state machine
US20050216671A1 (en) * 2004-03-24 2005-09-29 Intel Corporation Integrated circuit capable of pre-fetching data
US7571167B1 (en) * 2004-06-15 2009-08-04 David Anthony Campana Peer-to-peer network content object information caching

Cited By (248)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100191806A1 (en) * 2004-12-09 2010-07-29 Chang Hyun Kim Structure of objects stored in a media server and improving accessibility to the structure
US20060149761A1 (en) * 2004-12-09 2006-07-06 Lg Electronics Inc. Structure of objects stored in a media server and improving accessibility to the structure
US9992303B2 (en) 2007-06-29 2018-06-05 Amazon Technologies, Inc. Request routing utilizing client location information
US9021129B2 (en) 2007-06-29 2015-04-28 Amazon Technologies, Inc. Request routing utilizing client location information
US9021127B2 (en) 2007-06-29 2015-04-28 Amazon Technologies, Inc. Updating routing information based on client location
US10027582B2 (en) 2007-06-29 2018-07-17 Amazon Technologies, Inc. Updating routing information based on client location
US8788888B2 (en) * 2008-03-14 2014-07-22 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for providing end user notification in a UPnP network
US20110010591A1 (en) * 2008-03-14 2011-01-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and Apparatus for Providing End User Notification in a UPNP Network
US8352614B2 (en) * 2008-03-31 2013-01-08 Amazon Technologies, Inc. Content management
US20090248858A1 (en) * 2008-03-31 2009-10-01 Swaminathan Sivasubramanian Content management
US11194719B2 (en) 2008-03-31 2021-12-07 Amazon Technologies, Inc. Cache optimization
US8756325B2 (en) * 2008-03-31 2014-06-17 Amazon Technologies, Inc. Content management
US9954934B2 (en) 2008-03-31 2018-04-24 Amazon Technologies, Inc. Content delivery reconciliation
US8060561B2 (en) 2008-03-31 2011-11-15 Amazon Technologies, Inc. Locality based content distribution
US20110072110A1 (en) * 2008-03-31 2011-03-24 Swaminathan Sivasubramanian Content management
US9894168B2 (en) 2008-03-31 2018-02-13 Amazon Technologies, Inc. Locality based content distribution
US10158729B2 (en) 2008-03-31 2018-12-18 Amazon Technologies, Inc. Locality based content distribution
US9887915B2 (en) 2008-03-31 2018-02-06 Amazon Technologies, Inc. Request routing based on class
US10157135B2 (en) 2008-03-31 2018-12-18 Amazon Technologies, Inc. Cache optimization
US8135820B2 (en) 2008-03-31 2012-03-13 Amazon Technologies, Inc. Request routing based on class
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US11909639B2 (en) 2008-03-31 2024-02-20 Amazon Technologies, Inc. Request routing based on class
US9621660B2 (en) 2008-03-31 2017-04-11 Amazon Technologies, Inc. Locality based content distribution
US8713156B2 (en) 2008-03-31 2014-04-29 Amazon Technologies, Inc. Request routing based on class
US9571389B2 (en) 2008-03-31 2017-02-14 Amazon Technologies, Inc. Request routing based on class
US10797995B2 (en) 2008-03-31 2020-10-06 Amazon Technologies, Inc. Request routing based on class
US8275874B2 (en) 2008-03-31 2012-09-25 Amazon Technologies, Inc. Locality based content distribution
US9544394B2 (en) 2008-03-31 2017-01-10 Amazon Technologies, Inc. Network resource identification
US9479476B2 (en) 2008-03-31 2016-10-25 Amazon Technologies, Inc. Processing of DNS queries
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US9407699B2 (en) 2008-03-31 2016-08-02 Amazon Technologies, Inc. Content management
US8346937B2 (en) * 2008-03-31 2013-01-01 Amazon Technologies, Inc. Content management
US8352615B2 (en) * 2008-03-31 2013-01-08 Amazon Technologies, Inc. Content management
US8352613B2 (en) * 2008-03-31 2013-01-08 Amazon Technologies, Inc. Content management
US9888089B2 (en) 2008-03-31 2018-02-06 Amazon Technologies, Inc. Client side cache management
US8386596B2 (en) 2008-03-31 2013-02-26 Amazon Technologies, Inc. Request routing based on class
US10305797B2 (en) 2008-03-31 2019-05-28 Amazon Technologies, Inc. Request routing based on class
US8402137B2 (en) * 2008-03-31 2013-03-19 Amazon Technologies, Inc. Content management
US9332078B2 (en) 2008-03-31 2016-05-03 Amazon Technologies, Inc. Locality based content distribution
US10511567B2 (en) 2008-03-31 2019-12-17 Amazon Technologies, Inc. Network resource identification
US20130110916A1 (en) * 2008-03-31 2013-05-02 Amazon Technologies, Inc. Content management
US8438263B2 (en) 2008-03-31 2013-05-07 Amazon Technologies, Inc. Locality based content distribution
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US9210235B2 (en) 2008-03-31 2015-12-08 Amazon Technologies, Inc. Client side cache management
US8930544B2 (en) 2008-03-31 2015-01-06 Amazon Technologies, Inc. Network resource identification
US9208097B2 (en) 2008-03-31 2015-12-08 Amazon Technologies, Inc. Cache optimization
US10530874B2 (en) 2008-03-31 2020-01-07 Amazon Technologies, Inc. Locality based content distribution
US8639817B2 (en) * 2008-03-31 2014-01-28 Amazon Technologies, Inc. Content management
US11451472B2 (en) 2008-03-31 2022-09-20 Amazon Technologies, Inc. Request routing based on class
US10554748B2 (en) 2008-03-31 2020-02-04 Amazon Technologies, Inc. Content management
US10645149B2 (en) 2008-03-31 2020-05-05 Amazon Technologies, Inc. Content delivery reconciliation
US9026616B2 (en) 2008-03-31 2015-05-05 Amazon Technologies, Inc. Content delivery reconciliation
US11245770B2 (en) 2008-03-31 2022-02-08 Amazon Technologies, Inc. Locality based content distribution
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US20110078240A1 (en) * 2008-03-31 2011-03-31 Swaminathan Sivasubramanian Content management
US9009286B2 (en) 2008-03-31 2015-04-14 Amazon Technologies, Inc. Locality based content distribution
US20130297717A1 (en) * 2008-03-31 2013-11-07 Amazon Technologies, Inc. Content management
US10771552B2 (en) 2008-03-31 2020-09-08 Amazon Technologies, Inc. Content management
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US9021128B2 (en) 2008-06-30 2015-04-28 Amazon Technologies, Inc. Request routing using network computing components
US8458250B2 (en) 2008-06-30 2013-06-04 Amazon Technologies, Inc. Request routing using network computing components
US8239571B2 (en) 2008-06-30 2012-08-07 Amazon Technologies, Inc. Request routing using network computing components
US9608957B2 (en) 2008-06-30 2017-03-28 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US20110153736A1 (en) * 2008-06-30 2011-06-23 Amazon Technologies, Inc. Request routing using network computing components
US20100057931A1 (en) * 2008-08-28 2010-03-04 Riemers Bill C Fast http seeking
US8463932B2 (en) * 2008-08-28 2013-06-11 Red Hat, Inc. Fast HTTP seeking
US8856378B2 (en) 2008-08-28 2014-10-07 Red Hat, Inc. Fast HTTP seeking
US8788671B2 (en) 2008-11-17 2014-07-22 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US9590946B2 (en) 2008-11-17 2017-03-07 Amazon Technologies, Inc. Managing content delivery network service providers
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US9985927B2 (en) 2008-11-17 2018-05-29 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US11115500B2 (en) 2008-11-17 2021-09-07 Amazon Technologies, Inc. Request routing utilizing client location information
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US10116584B2 (en) 2008-11-17 2018-10-30 Amazon Technologies, Inc. Managing content delivery network service providers
US9787599B2 (en) 2008-11-17 2017-10-10 Amazon Technologies, Inc. Managing content delivery network service providers
US9734472B2 (en) 2008-11-17 2017-08-15 Amazon Technologies, Inc. Request routing utilizing cost information
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8583776B2 (en) 2008-11-17 2013-11-12 Amazon Technologies, Inc. Managing content delivery network service providers
US11283715B2 (en) 2008-11-17 2022-03-22 Amazon Technologies, Inc. Updating routing information based on client location
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8234403B2 (en) 2008-11-17 2012-07-31 Amazon Technologies, Inc. Updating routing information based on client location
US8239514B2 (en) 2008-11-17 2012-08-07 Amazon Technologies, Inc. Managing content delivery network service providers
US8301778B2 (en) 2008-11-17 2012-10-30 Amazon Technologies, Inc. Service provider registration by a content broker
US10742550B2 (en) 2008-11-17 2020-08-11 Amazon Technologies, Inc. Updating routing information based on client location
US8510448B2 (en) 2008-11-17 2013-08-13 Amazon Technologies, Inc. Service provider registration by a content broker
US9515949B2 (en) 2008-11-17 2016-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8301748B2 (en) 2008-11-17 2012-10-30 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US9451046B2 (en) 2008-11-17 2016-09-20 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8495220B2 (en) 2008-11-17 2013-07-23 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US9444759B2 (en) 2008-11-17 2016-09-13 Amazon Technologies, Inc. Service provider registration by a content broker
US8321588B2 (en) 2008-11-17 2012-11-27 Amazon Technologies, Inc. Request routing utilizing client location information
US10523783B2 (en) 2008-11-17 2019-12-31 Amazon Technologies, Inc. Request routing utilizing client location information
US9251112B2 (en) 2008-11-17 2016-02-02 Amazon Technologies, Inc. Managing content delivery network service providers
US8423667B2 (en) 2008-11-17 2013-04-16 Amazon Technologies, Inc. Updating routing information based on client location
US8458360B2 (en) 2008-11-17 2013-06-04 Amazon Technologies, Inc. Request routing utilizing client location information
US11811657B2 (en) 2008-11-17 2023-11-07 Amazon Technologies, Inc. Updating routing information based on client location
US8892720B2 (en) * 2009-02-12 2014-11-18 Arcsoft, Inc. System and method for network optimization through predictive downloading
US20100205292A1 (en) * 2009-02-12 2010-08-12 Raul Diaz System and method for network optimization through predictive downloading
US20100202287A1 (en) * 2009-02-12 2010-08-12 Raul Diaz System and method for network optimization by managing low priority data transfers
US8238243B2 (en) 2009-02-12 2012-08-07 Arcsoft, Inc. System and method for network optimization by managing low priority data transfers
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8463877B1 (en) 2009-03-27 2013-06-11 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularitiy information
US10491534B2 (en) 2009-03-27 2019-11-26 Amazon Technologies, Inc. Managing resources and entries in tracking information in resource cache components
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US9237114B2 (en) 2009-03-27 2016-01-12 Amazon Technologies, Inc. Managing resources in resource cache components
US10264062B2 (en) 2009-03-27 2019-04-16 Amazon Technologies, Inc. Request routing using a popularity identifier to identify a cache component
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US10574787B2 (en) 2009-03-27 2020-02-25 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US10601767B2 (en) 2009-03-27 2020-03-24 Amazon Technologies, Inc. DNS query processing based on application information
US8996664B2 (en) 2009-03-27 2015-03-31 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US10230819B2 (en) 2009-03-27 2019-03-12 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US8521885B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US9191458B2 (en) 2009-03-27 2015-11-17 Amazon Technologies, Inc. Request routing using a popularity identifier at a DNS nameserver
US9083675B2 (en) 2009-03-27 2015-07-14 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US9176894B2 (en) 2009-06-16 2015-11-03 Amazon Technologies, Inc. Managing resources using resource expiration data
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US10521348B2 (en) 2009-06-16 2019-12-31 Amazon Technologies, Inc. Managing resources using resource expiration data
US8543702B1 (en) 2009-06-16 2013-09-24 Amazon Technologies, Inc. Managing resources using resource expiration data
US10783077B2 (en) 2009-06-16 2020-09-22 Amazon Technologies, Inc. Managing resources using resource expiration data
US20110004664A1 (en) * 2009-07-03 2011-01-06 Siemens Ag Device and Method for Distributing and Forwarding Requests to a Plurality of Web Servers in an Industrial Automation Arrangement
US10135620B2 (en) 2009-09-04 2018-11-20 Amazon Technologis, Inc. Managing secure content in a content delivery network
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9130756B2 (en) 2009-09-04 2015-09-08 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9712325B2 (en) 2009-09-04 2017-07-18 Amazon Technologies, Inc. Managing secure content in a content delivery network
US10785037B2 (en) 2009-09-04 2020-09-22 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9893957B2 (en) 2009-10-02 2018-02-13 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US10218584B2 (en) 2009-10-02 2019-02-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US9246776B2 (en) 2009-10-02 2016-01-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US11205037B2 (en) 2010-01-28 2021-12-21 Amazon Technologies, Inc. Content distribution network
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US10506029B2 (en) 2010-01-28 2019-12-10 Amazon Technologies, Inc. Content distribution network
US20110289414A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation Guided navigation
US20110289460A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation Hierarchical display of content
US9288153B2 (en) 2010-08-26 2016-03-15 Amazon Technologies, Inc. Processing encoded content
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US10225322B2 (en) 2010-09-28 2019-03-05 Amazon Technologies, Inc. Point of presence management in request routing
US11632420B2 (en) 2010-09-28 2023-04-18 Amazon Technologies, Inc. Point of presence management in request routing
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US11336712B2 (en) 2010-09-28 2022-05-17 Amazon Technologies, Inc. Point of presence management in request routing
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8676918B2 (en) 2010-09-28 2014-03-18 Amazon Technologies, Inc. Point of presence management in request routing
US9800539B2 (en) 2010-09-28 2017-10-24 Amazon Technologies, Inc. Request routing management based on network components
US9794216B2 (en) 2010-09-28 2017-10-17 Amazon Technologies, Inc. Request routing in a networked environment
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US10015237B2 (en) 2010-09-28 2018-07-03 Amazon Technologies, Inc. Point of presence management in request routing
US11108729B2 (en) 2010-09-28 2021-08-31 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US10931738B2 (en) 2010-09-28 2021-02-23 Amazon Technologies, Inc. Point of presence management in request routing
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US10079742B1 (en) 2010-09-28 2018-09-18 Amazon Technologies, Inc. Latency measurement in resource requests
US10778554B2 (en) 2010-09-28 2020-09-15 Amazon Technologies, Inc. Latency measurement in resource requests
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9106701B2 (en) 2010-09-28 2015-08-11 Amazon Technologies, Inc. Request routing management based on network components
US9160703B2 (en) 2010-09-28 2015-10-13 Amazon Technologies, Inc. Request routing management based on network components
US9185012B2 (en) 2010-09-28 2015-11-10 Amazon Technologies, Inc. Latency measurement in resource requests
US9787775B1 (en) 2010-09-28 2017-10-10 Amazon Technologies, Inc. Point of presence management in request routing
US9191338B2 (en) 2010-09-28 2015-11-17 Amazon Technologies, Inc. Request routing in a networked environment
US9253065B2 (en) 2010-09-28 2016-02-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9497259B1 (en) 2010-09-28 2016-11-15 Amazon Technologies, Inc. Point of presence management in request routing
US10951725B2 (en) 2010-11-22 2021-03-16 Amazon Technologies, Inc. Request routing processing
US9930131B2 (en) 2010-11-22 2018-03-27 Amazon Technologies, Inc. Request routing processing
US9003040B2 (en) 2010-11-22 2015-04-07 Amazon Technologies, Inc. Request routing processing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US20120185543A1 (en) * 2011-01-18 2012-07-19 Samsung Electronics Co., Ltd. Apparatus and method for sharing information on a webpage
US11604667B2 (en) 2011-04-27 2023-03-14 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US9628554B2 (en) 2012-02-10 2017-04-18 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US9172674B1 (en) 2012-03-21 2015-10-27 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US10225362B2 (en) 2012-06-11 2019-03-05 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US11303717B2 (en) 2012-06-11 2022-04-12 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US11729294B2 (en) 2012-06-11 2023-08-15 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US10542079B2 (en) 2012-09-20 2020-01-21 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10015241B2 (en) 2012-09-20 2018-07-03 Amazon Technologies, Inc. Automated profiling of resource usage
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US10645056B2 (en) 2012-12-19 2020-05-05 Amazon Technologies, Inc. Source-dependent address resolution
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9929959B2 (en) 2013-06-04 2018-03-27 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US10374955B2 (en) 2013-06-04 2019-08-06 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11381487B2 (en) 2014-12-18 2022-07-05 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11863417B2 (en) 2014-12-18 2024-01-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10728133B2 (en) 2014-12-18 2020-07-28 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11297140B2 (en) 2015-03-23 2022-04-05 Amazon Technologies, Inc. Point of presence based data uploading
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US10469355B2 (en) 2015-03-30 2019-11-05 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US11461402B2 (en) 2015-05-13 2022-10-04 Amazon Technologies, Inc. Routing based request correlation
US10691752B2 (en) 2015-05-13 2020-06-23 Amazon Technologies, Inc. Routing based request correlation
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10180993B2 (en) 2015-05-13 2019-01-15 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US10200402B2 (en) 2015-09-24 2019-02-05 Amazon Technologies, Inc. Mitigating network attacks
US11134134B2 (en) 2015-11-10 2021-09-28 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10666756B2 (en) 2016-06-06 2020-05-26 Amazon Technologies, Inc. Request management for hierarchical cache
US11463550B2 (en) 2016-06-06 2022-10-04 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US11457088B2 (en) 2016-06-29 2022-09-27 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10516590B2 (en) 2016-08-23 2019-12-24 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10469442B2 (en) 2016-08-24 2019-11-05 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US11330008B2 (en) 2016-10-05 2022-05-10 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US11762703B2 (en) 2016-12-27 2023-09-19 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US11290418B2 (en) 2017-09-25 2022-03-29 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US11362986B2 (en) 2018-11-16 2022-06-14 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system

Also Published As

Publication number Publication date
US7571167B1 (en) 2009-08-04

Similar Documents

Publication Publication Date Title
US7571167B1 (en) Peer-to-peer network content object information caching
US11138150B2 (en) Network repository for metadata
US9923962B2 (en) Techniques and systems for supporting podcasting
US10372748B2 (en) Methods and apparatuses for presenting content
US20060265409A1 (en) Acquisition, management and synchronization of podcasts
US20070118606A1 (en) Virtual content directory service
JP2004500651A (en) Streaming media search and playback system
US20120109952A1 (en) System, method, and computer program for remote management of digital content
US20070055650A1 (en) Query caching in a system with a content directory service
JP2003507820A (en) System and method for viewing an advanced network
CN117112058A (en) CEPH-based client mounting method, system, equipment and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: LEE CAPITAL LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BLUE CHIP IV LIMITED PARTNERSHIP;REEL/FRAME:022901/0169

Effective date: 20070205

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE