AU2007231759A1 - Adaptive content caching - Google Patents

Adaptive content caching Download PDF

Info

Publication number
AU2007231759A1
AU2007231759A1 AU2007231759A AU2007231759A AU2007231759A1 AU 2007231759 A1 AU2007231759 A1 AU 2007231759A1 AU 2007231759 A AU2007231759 A AU 2007231759A AU 2007231759 A AU2007231759 A AU 2007231759A AU 2007231759 A1 AU2007231759 A1 AU 2007231759A1
Authority
AU
Australia
Prior art keywords
resource
caching
network
cached
metadata
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.)
Granted
Application number
AU2007231759A
Other versions
AU2007231759B2 (en
Inventor
Aaron Matthew Knight
Ernest Yui Cheong Wan
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to AU2007231759A priority Critical patent/AU2007231759B2/en
Publication of AU2007231759A1 publication Critical patent/AU2007231759A1/en
Application granted granted Critical
Publication of AU2007231759B2 publication Critical patent/AU2007231759B2/en
Ceased legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

S&F Ref: 821193 AUSTRALIA PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT Name and Address Canon Kabushiki Kaisha, of 30-2, Shimomaruko 3-chome, of Applicant : Ohta-ku, Tokyo, 146, Japan Actual Inventor(s): Ernest Yui Cheong Wan Aaron Matthew Knight Address for Service: Spruson & Ferguson St Martins Tower Level 35 31 Market Street Sydney NSW 2000 (CCN 3710000177) Invention Title: Adaptive content caching The following statement is a full description of this invention, including the best method of performing it known to me/us: 5845c(1006873_1) -1 ADAPTIVE CONTENT CACHING Technical Field The current invention relates to media storage and, in particular, to media caching during media transfer between devices. Background 5 There are many products and services aimed at caching networked content and serving the cached content to other networked devices as well as locally. The fundamental goal of relevant network service devices and systems is to serve content at a greater speed by using the available bandwidth and intermediate storage in an effective manner. Known techniques have evolved focussed on Wide Area Network (WAN) applications, and 10 particularly optimisation of media transfer over the Internet and World Wide Web (WWW). WANs are generally characterised by the use of leased or public communication services to interconnect computers and other devices. Those techniques involve either the configuration of clients and servers to handle the caching of media data during transfer, or the breaking of the end-to-end nature of TCP protocol by inserting a caching proxy in 15 between the client and server. Such techniques require implementation by an experienced systems administrator, typically with the use of specialised hardware devices such as special routers and dedicated server computers to achieve efficient media transfer. Even in spite of the high level of human involvement, media serving via WANs is not necessarily seamless nor without communication delays or hang-ups, particularly for media content of 20 large storage size (eg. streamable video, or downloadable content). Some specific protocols have been devised to allow content caching on arbitrary networked devices to facilitate the transfer of content, particularly (large) media files. One example is a protocol known as BitTorrent, which was designed for WAN implementation 1006372_1 821193_speci03 -2 and operates in a peer-to-peer configuration utilising a central server that monitors the distribution of data blocks of a file about various peers (servers) in the network. This enabled optimised use of communication services between the peers, and the process of retrieving data blocks by a particular peer is optimised by not requiring the receipt of the 5 data blocks to be contiguous. The peer is thus able to retrieve all the required data blocks of a particular file from those other peers that are able to best serve the required data blocks. However, BitTorrent does not ensure that data blocks are retrieved in order, as that may not provide for optimised receipt of the entire data file. Further BitTorrent connect collate and combine disparate blocks of data - all data blocks of a file are required before 10 any amount of use can be made of that file, such as media reproduction. Unfortunately this approach does not allow media to be streamed, which necessitates a continual and generally successive delivery of data blocks. A local area network (LAN) is a computer network covering a small geographic area, like a home, office, or group of buildings without a need for leased 15 telecommunication lines. The development of Local Area Networks, since the emergence of WANs, has focussed upon using equipments and protocols from WAN environments. This was to ensure both hardware and software compatibility when LANs were connected to WANs, and consequentially to reduce their cost of implementation. As such, some of the problems of delivery of large files such as media files over WANs, were carried over 20 into LANs, albeit not to the same extent in view of the relatively limited nature of the LAN environment. Summary It is an object of the present invention to substantially overcome or at least ameliorate one or more deficiencies of prior art systems. 1006372_1 821193_speci_03 -3 In accordance with one aspect of the present disclosure there is provided a method of caching resources in a network, said method comprising the steps of: monitoring network traffic of said network; caching, in a caching device, a resource transferred between a source device and 5 client device of said network, and updating metadata of the source device by adding a record of said cached resource to the metadata of said source device; wherein an application running on a further device of said network selects said cached resource from said metadata for retrieval, the further device not being the source 10 device. Preferably the resource is able to be transferred across the network from the source device and said caching device measures a throughput performance of said source device and caches the resource when the throughput performance is below a predefined threshold. Desirably the cached resource is of a type that is frequently used by application 15 running on said caching device. In a specific implementation a local metadata item is created to associate with said cached resource, a copy of the metadata of said source device is stored with said local metadata item, and said local metadata item is made visible or otherwise enabled for searching by other devices of said network if the source device is otherwise unavailable for searching. In another implementation the cached resource and a 20 corresponding metadata record are removed when at least one of the following conditions has been met: said resource has been cached on another device in the network; storage space on said caching device is low or otherwise below a predetermined level; the resource is no longer frequently required on said caching device; and a load on said caching device has increased and said caching device can no longer serve the cached resource efficiently. 1006372_1 821193_speci03 -4 Desirably the source device removes its original resource from its resource list to force applications to use cached resources on a caching device. Advantageously the caching device detects that only a portion of the resource has been retrieved by said client device, and the caching device requests the remaining portions 5 of the resource to create a complete copy of said resource in said caching server. According to another aspect of the present disclosure, there is provided a caching method implemented by a caching device in a computer network, said method comprising the steps of: monitoring the network to identify a request for delivery of a resource by a client 10 device to a server device; requesting of the server device delivery of the resource to the caching device; receiving the resource from the server device and retaining a cached copy of the resource in the caching device; and updating a metadata record within at least each of the server device, the client 15 device and the caching device to indicate that the caching device is able to serve the resource in the network. Other aspects are also disclosed. Brief Description of the Drawings One or more embodiments of the invention will now be described with reference to 20 the following drawings, in which: Fig. 1 is a schematic representation of a media server system according to the present disclosure; Fig. 2 shows the caching of media data in the system of Fig. I travelling from a source media server, such as a digital camera, to a client, such as a Set Top Box (STB); 1006372_1 821193_speci_03 -5 Fig. 3 shows a caching media server, such as a home computer, updating the metadata on the source media server, such as a digital camera in the system of Fig. 1; Fig. 4 shows the client device, such as the STB, requesting a cached resource from the caching media server, such as the home computer in the system of Fig. 1; 5 Fig. 5 is a flowchart showing the process performed by the client device of the system of Figs. I to 4; Fig. 6 is a flowchart showing a prior art process performed by the caching media server of the system of Figs. I to 4; Fig. 7 is a flowchart showing the process performed by the source media server in 10 the system of Figs. I to 4; Fig. 8 is a flowchart showing the process that the caching media server follows with the extension to fetch partially completed transfers; and Fig. 9 is a schematic block diagram of a general purpose computer system with which the arrangements described can be implemented. 15 Detailed Description including Best Mode Digital media and, in particular, digital (still and video) cameras are commonly used by people to capture their personal memories. In the normal use case, digital cameras are directly connected to the home computer in order to transfer images and video to the computer. The connection usually takes the form of a wire or cable connection, such as via 20 a USB port. Other connections include docking stations or wireless (eg. Bluetooth T) arrangements. From there the images can be edited upon the home computer or shared via a network to other computers or devices. The present disclosure is suited to implementation within a LAN environment and particularly to relatively simple-to-use home or domestic LANs. Moreover the present disclosure exploits the more controlled 1006372_1 821193_speci03 -6 environment of a LAN or home network to provide a solution that requires no separate network configuration by the user. With the introduction of new communication standards and protocols, such as Digital Living Network Alliance (DLNA), media servers such as digital cameras need not 5 be directly connected to a computer, but rather may be connected directly to a home network. For instance, a DLNA compatible device can use a home network to discover other devices on the home network, and browse their content. However as in the case of digital cameras, not all media servers on a network can stream their contents to one or more clients efficiently. In order to improve access and transfer speeds on such networks a 10 method of caching content has been devised by the present inventors. The presently disclosed methods are most effective for data transfer on a local area network having the following characteristics: * the data transfer capabilities of the media servers on the network differ considerably. For instance, being a portable device, the transfer speeds of a digital camera 15 are expected to be vastly lower or slower than the transfer speed of a desktop home computer. * large media items such as video and bit map images (photographs and pictures) are often requested more than once in close succession; * the storage capacities on the relatively faster servers that are intended to be used 20 for caching is relatively abundant as the caching of transferred data may require significant data storage; and * the media content source and the caching server are on the same network segment. This is because the caching server is required to eavesdrop on transfers between 1006372_1 821193_speci03 -7 the source server and a client. This would be true for any wireless network with a single wireless access point. Fig. I depicts the network system 199 comprising of a number of devices including a relatively slower media server 100 (e.g. a DLNA-compliant digital camera), a relatively 5 faster media server 130 (e.g. a home computer), and a client device 120 (e.g. Set Top Box (STB)), each of which are connected to the same segment of a network 110. Where the client device 120 is a STB, such may in turn be connected to a display device such as a LCD, plasma display or cathode ray tube TV. The faster media server 130 contains large quantities of secondary storage relative to both the slower media server 100 and the client 10 device 120. Where the network and presently disclosed methods are implemented in a DLNA environment, such as a wireless Local Area Network, where the caching server and the media server reside on a single network broadcast segment. Further, the present disclosure is predicated upon a requirement that each of the devices in the network that contribute to the methods to be described, are able to broadcast, to other such devices, 15 metadata relating to media files either stored therein or addresses of media files stored in other locations of the network. The methods of serving media data described herein may be implemented using a computer system 900, such as that shown in Fig. 9 wherein the processes of Figs. I to 8 may be implemented as software, such as one or more application programs executable 20 within the computer system 900. In particular, the steps of media serving and caching are effected by instructions in the software that are carried out within the computer system 900. The instructions may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the media caching and serving 1006372_1 821193_speci03 -8 methods and a second part and the corresponding code modules manage a user interface between the first part and the user. The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer system 900 from the computer readable medium, and then 5 executed by the computer system 900. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer system 900 preferably effects an advantageous apparatus for media caching and servicing between devices in a network. As seen in Fig. 9, the computer system 900 is formed by a main computer 950, 10 coupled to a LAN 922 via a connection 923, a WAN 920 which is coupled to the main computer 950 via a connection 921 formed using an (external) modem 916, and other devices such as a STB 950 and a camera 960 are coupled as illustrated to the LAN 922. The main computer 950 forms a so-called "gateway" interconnection between the LAN 922 and the WAN 920 and represents a device active on each of those networks. In the context 15 of the present disclosure, the main computer 950 is relatively very fast with most substantial storage capacity, whereas the camera 960 can be digital camera represented by computer hardware that is relatively slow and which has relatively limited storage capacity. The STB 950, is also a formed by computer hardware and would typically have a speed somewhere between that of the camera 970 and the main computer 950. 20 The main computer 950 is formed by a computer module 901, input devices such as a keyboard 902 and a mouse pointer device 903, and output devices including a printer 915, a display device 914 and loudspeakers 917. Where the connection 921 is a telephone line, the modem 916 may be a traditional "dial-up" modem. Alternatively, where the connection 921 is a high capacity (eg: cable) connection, the modem 916 may be 1006372_1 821193_speci03 -9 a broadband modem. A wireless modem may also be used for wireless connection to the network 920. The computer module 901 typically includes at least one processor unit 905, and a memory unit 906 for example formed from semiconductor random access memory (RAM) 5 and read only memory (ROM). The module 901 also includes an number of input/output (1/0) interfaces including an audio-video interface 907 that couples to the video display 914 and loudspeakers 917, an I/O interface 913 for the keyboard 902 and mouse 903 and optionally a joystick (not illustrated), and an interface 908 for the external modem 916 and printer 915. In some implementations, the modem 916 may be 10 incorporated within the computer module 901, for example within the interface 908. The computer module 901 also has a local network interface 911 which, via a connection 923, permits coupling of the main computer system 950 to the LAN 922. The interface 911 to the LAN 922 may be formed by an EthernetTM circuit card, a wireless BluetoothTM or an [EEE 802.11 wireless arrangement or other arrangement such as a DLNA protocol. 15 The interfaces 908 and 913 may afford both serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 909 are provided and typically include a hard disk drive (HDD) 910. Other devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used. An optical 20 disk drive 912 is typically provided to act as a non-volatile source of data. Portable memory devices, such optical disks (eg: CD-ROM, DVD), USB-RAM, and floppy disks for example may then be used as appropriate sources of data to the system 900. The components 905, to 913 of the computer module 901 typically communicate via an interconnected bus 904 and in a manner which results in a conventional mode of 1006372_1 821193_speci_03 -10 operation of the computer system 900 known to those in the relevant art. Examples of computers on which the described arrangements can be practised include IBM-PC's and compatibles, Sun Sparcstations, Apple MacTM or alike computer systems evolved therefrom. 5 Typically, the application programs discussed above are resident on the hard disk drive 910 and read and controlled in execution by the processor 905. Intermediate storage of such programs and any data fetched from the networks 920 and 922 may be accomplished using the semiconductor memory 906, possibly in concert with the hard disk drive 910. In some instances, the application programs may be supplied to the user 10 encoded on one or more CD-ROM and read via the corresponding drive 912, or alternatively may be read by the user from the networks 920 or 922. Still further, the software can also be loaded into the computer system 900 from other computer readable media. Computer readable media refers to any storage medium that participates in providing instructions and/or data to the computer system 900 for execution and/or 15 processing. Examples of such media include floppy disks, magnetic tape, CD-ROM, a hard disk drive, a ROM or integrated circuit, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 901. Examples of computer readable transmission media that may also participate in the provision of instructions and/or data include radio or 20 infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like. The second part of the application programs and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces 1006372_1 821193_speci03 -11 (GUIs) to be rendered or otherwise represented upon the display 914. Through manipulation of the keyboard 902 and the mouse 903, a user of the computer system 900 and the application may manipulate the interface to provide controlling commands and/or input to the applications associated with the GUI(s). Typically, in the context of the 5 present disclosure, the GUI will be generally limited to providing to the user a listing of media in the network 922 available for reproduction. The media serving operations to be described desirably operate in a background mode without direct user interaction. It will be appreciated that each of the camera 970 and STB 960 may be represented in a similar fashion to the main computer 950 and will respectively include a processor, 10 memory storage, communication interfaces and user interfaces, which are not illustrated. Similary, corresponding application programs may be stored in each essentially equivalent to that of the main computer 950 in order to implement the caching and serving arrangements of the present disclosure. Fig. 2 shows the operation of the system 199 by which the client device 120 makes 15 a request 200, directed to the slower media server 100, for a media item 210 stored or otherwise resident on the slower media server 100. The request 200 is passed over the network 110 to the slower media server 100, which may be considered and referred to as the "source" media server. Upon receiving the request, the source media server 100 consults an internal metadata repository to determine an internal storage location of the 20 desired media item 210. Data of the media item 210 is then provided as a response 220 which returns to the client device 120. The provision of the response may be via transfer such as a streaming of content, or a downloading of content, for example. Whilst the response 220 is served from the server 100 to the client device 120, the faster media server 130, which may be considered and referred to as the "caching" media server, listens or 1006372_1 821193_speci03 -12 otherwise monitors the response 220, for example using a technique such as "packet sniffing". The caching media server 130 can thereby cache the data, and the cached data 230 is stored in a storage part of the caching media server 130. According to the DLNA protocol, for example, each device within the system 199 5 may have a repository of media data files able to be served to other devices. Associated with the repository is a metadata repository which records data relevant to the actual stored media data files. This may include the name of the file, the file size, the associated data type, a record of the actual storage location, amongst many other features. For example, a digital photograph of a scene may be referred to as an "object" which may be available in 10 two different formats, such as a "first resource" being a high resolution representation of the scene, and as a "second resource" being a corresponding low resolution representation of the scene. The metadata repository may also include records of media files not stored on the corresponding device, but representing files stored on other devices in the system 199, such as the URI of a cached copy of a file. 15 Fig. 3 depicts the process of updating the metadata of the source media server 100. After completely caching the media item 210 as a cached copy 310, the caching media server 130 sends a request 300 over the network 110 to the source media server 100. The request 300 operates to update the metadata on the source media server 100 so that the corresponding resource record points to the cached copy 310 on the caching media server 20 130 as a secondary source of data for that particular media item 210. Fig. 4 depicts a subsequent request 400 for the media item 210 from a client device 150 (which may be the device 120 or a different device connected to the network 110) to the source media server 100. Metadata from the source media server 100 indicates that the original media item 210 is available for serving directly from the media server 100, but also 1006372_1 821193_speci03 -13 that a cached version 310 of media item 210 is available on the caching media server 130. The client device 150 can thereby request the cached media item 310 from the caching media server 130. The cached media item 310 is served by caching media server 130 as a data stream 420 at a much higher rate than can be achieved by the source media server 100. 5 The client device 150 receives the data stream 420. For any client device 120, a resource may be chosen randomly about the system 199, from the metadata resource record of a media item. If a choice is made randomly then the required load on the source server (eg. 100) will be reduced by the presence of the cached resource 310. The client 120 may also monitor the throughput of listed devices and 10 choose the device with the highest throughput, for example from the caching server 130, which may be represented by the main computer 950 in the system 900 of Fig. 9. This option is preferred as it reduces the load on the source server 100 more significantly than choosing at delivery from a random source. Fig. 5 shows a process 599 performed by a client device (120, 150) in accessing and 15 reproducing a media item 210. Initially at step 500 a request for a media item is issued from the client device 120. The request returns the metadata of the media item 210, which is received by the client device 120, including addresses of any copies of the item, at step 505. At step 510, the client device 120 selects the source of the media item from those locations specified in the received metadata. At step 515, the client device 120 then 20 requests the selected source (eg. 310 from the server 130 of the media item 210). At step 520, the media data of the selected source of the media item 210 is received and reproduced by the client device 100. Where the media content includes images or text, such are decoded and rendered to a display and where the content includes audio, such is decoded and reproduced via loudspeakers. 1006372_1 621193_speci03 -14 Fig. 6 shows a process 699 followed by all media servers in the system 199. The same process is used by standards such as UPnP and DLNA. At step 600, the media server awaits or listens on the network 110 for requests to serve media content. If a request is not detected at step 610, control returns to step 600 to continue monitoring. Where a request is 5 detected at step 610, a type of the request is checked in step 620. For media requests, the media is streamed from the media server to the requestor in step 630. For requests to update the metadata of a media item, the relevant metadata stored within the media server is updated in step 640. All other requests, such as requests for directory listings, searching etc., are processed in a traditional fashion in step 650. Following the processing of the 10 request, control reverts to step 600 to await further requests. Fig. 7 contains an additional process 799 performed by a caching media server (eg. 130). The caching media server listens to communications traffic on the network 110 in step 700. If no media transfer is detected at step 710, control returns to step 700 to continue monitoring. If a media transfer is detected in step 710, the data associated with 15 the transfer is eavesdropped and the data with the transfer is stored in step 720 on the caching media server. The data will be associated with a media item 210 the subject of the transfer. Following this, in step 730, the caching media server updates the resource record, on the source of the transfer, which forms part of the metadata of the media item 210, to reflect the additional cached copy created on the caching media server. Control then 20 returns to step 700 to continue to listen to network traffic. The cached copy of the media item 210 may be kept on the caching media server 130 for an arbitrary length of time. In a preferred implementation of the system 199, the cached copy is no longer deemed as required if: e cached copies are available on other devices; 1006372_1 821193_speci03 -15 e storage space on the current device is low; * the content is no longer new nor retrieved frequently; or " the caching device can no longer cope with the extra load. Typically, the cached resource is of a type that is frequently used by applications 5 running on the caching device. For example, the resource may be an MPEG file and the caching device (eg. computer 950), whilst not being the target device for the transfer, may have a suitable reproduction application program (ie. an MPEG player), by which the caching device may infer that it is likely that the resource may need to be reproduced from the caching device (eg. via the display 914). 10 When the cached copy is no longer deemed as required, a command is sent from the relevant caching media server to the source server of the relevant media item to delete the record of the cached copy from the resource list of the media item. The cached copy is then deleted from the caching media server. In an alternate implementation of the system 199, the cached copy 310 (tagged 15 within the caching media server 130 as a cached copy of another resource) is added to a browsable directory of the caching media server 130. When the source media server 100 is offline (ie. not otherwise available for access via the network 110), the directory referencing cached copies of media objects otherwise available from the source media server 100 will be made searchable to all client applications. 20 In a further implementation, where the resource is not streamed in its entirety (e.g. only a portion of a video has been played back by the client devicel20), the caching media server 130 can request the remaining data to create a complete copy of the resource. A threshold of say 0.5 or 50% can be set to ensure that only partially cached videos that are greater than a certain fraction of the original video will be requested. Fig. 8 depicts such a 1006372_1 821193_speci03 -16 process 899. The initial procedures of steps 800, 810, 820 are identical to those of steps 700, 710, 720 respectively in Fig. 7. The detected transfer of a media item is stored (cached) as described above, however when the transfer is stopped (for some reason not under the control of the caching media server 130), step 830 operates to ascertain if the 5 transfer was complete. If so, step 860 follows to update the resource record on the source media server, this being equivalent to step 730 of the process 799 of Fig. 7. Where the transfer is not complete, step 840 operates to compare the quantum of transfer (ie. the amount of data transferred), or the throughput, to a threshold. In the case that the percentage of completion of transfer is greater than a predetermined throughput threshold 10 (eg. 50%), the remaining parts of the media item omitted from the transfer, are requested by the caching media server 130 from the source media server 100, in step 850. If the threshold is not met, control returns to step 800 and the resource record is not updated. As such, the (partial) cached copy may be immediately deleted from the caching media server 130 since such would not be seen by prospective clients within the system 199 and thus 15 never requested or served. In another implementation, the source media server 100 can ensure the use of the cached copy of the media item 310 maintained by the caching media server 130 by temporarily removing its own resource from the resource list it sent to other devices. In the arrangements described above, it will be apparent that multiple caching 20 servers may be present on a single network broadcast segment. Every caching server whilst idle or lightly loaded will therefore cache every media item transferred on the network and, upon updating the resource record of that media item decide, whether to continue to keep the cached copy. A preferred implementation is configured without any direct communication between caching servers which may arbitrate who may operate to cache 1006372_1 821193_speci03 -17 particular files. The advantage of having multiple caching servers, perhaps redundantly caching the same file, is that such improves availability of resources if one of the cache servers is powered down, or occupied with another task. Further, the other limitations upon retention of cached copies prevents devices becoming unnecessarily burdened by 5 these tasks whilst permitting caching to occur across the network in times of greater network availability. In a further implementation, the source device may be configured to remove its original record of the resource from its corresponding resource list to force applications executing on other devices in the network to use cached resources on a caching device. 10 Industrial Applicability The arrangements described are applicable to the computer and data processing industries and particularly to the serving of data about LANs. The foregoing describes only some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and 15 spirit of the invention, the embodiments being illustrative and not restrictive. (Australia Only) In the context of this specification, the word "comprising" means "including principally but not necessarily solely" or "having" or "including", and not "consisting only of'. Variations of the word "comprising", such as "comprise" and "comprises" have correspondingly varied meanings. 20 1006372_1 821193_speci03

Claims (20)

1. A method of caching resources in a network, said method comprising the steps of: monitoring network traffic of said network; 5 caching, in a caching device, a resource transferred between a source device and client device of said network, and updating metadata of the source device by adding a record of said cached resource to the metadata of said source device; wherein an application running on a further device of said network selects said 10 cached resource from said metadata for retrieval, the further device not being the source device.
2. A method according to claim I wherein the resource is able to be transferred across the network from the source device and said caching device measures a throughput 15 performance of said source device and caches the resource when the throughput performance is below a predefined threshold.
3. A method according to claim 1 wherein said cached resource is of a type that is frequently used by application running on said caching device. 20
4. A method according to claim 3 wherein: a local metadata item is created to associate with said cached resource a copy of the metadata of said source device is stored with said local metadata item, and 1006372_1 821193_speci03 -19 said local metadata item is made visible or otherwise enabled for searching by other devices of said network if the source device is otherwise unavailable for searching.
5. A method according to claim 3 wherein: 5 said cached resource and a corresponding metadata record are removed when at least one of the following conditions has been met: said resource has been cached on another device in the network; storage space on said caching device is low or otherwise below a predetermined level; 10 the resource is no longer frequently required on said caching device; and a load on said caching device has increased and said caching device can no longer serve the cached resource efficiently.
6. A method according to claim I wherein said source device removes its original 15 resource from its resource list to force applications to use cached resources on a caching device.
7. A method according to claim 1 wherein said caching device detects that only a portion of the resource has been retrieved by said client device, and the caching device 20 requests the remaining portions of the resource to create a complete copy of said resource in said caching server.
8. A caching method implemented by a caching device in a computer network, said method comprising the steps of: 1006372_1 821193_speci03 -20 monitoring the network to identify a request for delivery of a resource by a client device to a server device; requesting of the server device delivery of the resource to the caching device; receiving the resource from the server device and retaining a cached copy of the 5 resource in the caching device; and updating a metadata record within at least each of the server device, the client device and the caching device to indicate that the caching device is able to serve the resource in the network. 10
9. A computer readable medium having a computer program recorded thereon, the program being executable by a computer device to perform a method of caching resources in a network, said program comprising: means for monitoring network traffic of said network; means for caching, in a caching device, a resource transferred between a source 15 device and client device of said network, and means for updating metadata of the source device by adding a record of said cached resource to the metadata of said source device; wherein an application running on a further device of said network selects said cached resource from said metadata for retrieval, the further device not being the source 20 device.
10. A computer readable medium according to claim 9 wherein the resource is able to be transferred across the network from the source device and said caching device measures 1006372_1 821193_speci_03 -21 a throughput performance of said source device and caches the resource when the throughput performance is below a predefined threshold.
11. A computer readable medium according to claim 9 wherein said cached resource is 5 of a type that is frequently used by application running on said caching device.
12. A computer readable medium according to claim 11 wherein: a local metadata item is created to associate with said cached resource a copy of the metadata of said source device is stored with said local metadata item, 10 and said local metadata item is made visible or otherwise enabled for searching by other devices of said network if the source device is otherwise unavailable for searching.
13. A computer readable medium according to claim 1 wherein: 15 said cached resource and a corresponding metadata record are removed when at least one of the following conditions has been met: said resource has been cached on another device in the network; storage space on said caching device is low or otherwise below a predetermined level; 20 the resource is no longer frequently required on said caching device; and a load on said caching device has increased and said caching device can no longer serve the cached resource efficiently. 1006372_1 821193_speci03 -22
14. A computer readable medium according to claim 9 wherein said source device removes its original resource from its resource list to force applications to use cached resources on a caching device. 5
15. A computer readable medium according to claim 9 wherein said caching device detects that only a portion of the resource has been retrieved by said client device, and the caching device requests the remaining portions of the resource to create a complete copy of said resource in said caching server. 10
16. A computer readable medium having a computer program recorded thereon, the program being executable by a computer device to perform a caching method implemented by a caching device in a computer network, said program comprising the steps of: code means for monitoring the network to identify a request for delivery of a resource by a client device to a server device; 15 code means for requesting of the server device delivery of the resource to the caching device; code receiving the resource from the server device and retaining a cached copy of the resource in the caching device; and updating a metadata record within at least each of the server device, the client 20 device and the caching device to indicate that the caching device is able to serve the resource in the network.
17. A system of computer devices arranged in a local area network, said system comprising: 1006372_1 821193_speci03 -23 means for monitoring network traffic of said network; means for caching, in a caching device, a resource transferred between a source device and client device of said network, and means for updating metadata of the source device by adding a record of said cached 5 resource to the metadata of said source device; wherein an application running on a further device of said network is executable to select said cached resource from said metadata for retrieval, the further device not being the source device. 10
18. A method substantially as described herein with reference to the drawings.
19. A computer readable medium having a program recorded thereon and adapted to perform the method of any one of claims I to 8 and 18 of the drawings. 15
20. A networked computer system substantially as described herein with reference to the drawings. Dated this 30th day of October 2007 CANON KABUSHIKI KAISHA Patent Attorneys for the Applicant 20 Spruson&Fergsuon 1006372_1 821193_speci_03
AU2007231759A 2007-10-30 2007-10-30 Adaptive content caching Ceased AU2007231759B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2007231759A AU2007231759B2 (en) 2007-10-30 2007-10-30 Adaptive content caching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AU2007231759A AU2007231759B2 (en) 2007-10-30 2007-10-30 Adaptive content caching

Publications (2)

Publication Number Publication Date
AU2007231759A1 true AU2007231759A1 (en) 2009-05-14
AU2007231759B2 AU2007231759B2 (en) 2011-05-26

Family

ID=40651473

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2007231759A Ceased AU2007231759B2 (en) 2007-10-30 2007-10-30 Adaptive content caching

Country Status (1)

Country Link
AU (1) AU2007231759B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2816783A1 (en) * 2013-06-11 2014-12-24 Samsung Electronics Co., Ltd Communication method of node overhearing content in content centric network and node

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351775B1 (en) * 1997-05-30 2002-02-26 International Business Machines Corporation Loading balancing across servers in a computer network
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7043524B2 (en) * 2000-11-06 2006-05-09 Omnishift Technologies, Inc. Network caching system for streamed applications
US7035911B2 (en) * 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US7555561B2 (en) * 2001-03-19 2009-06-30 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data broadcasting method
JP4254100B2 (en) * 2001-12-12 2009-04-15 ソニー株式会社 Content distribution management system, information processing apparatus and method, and computer program
US7133905B2 (en) * 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network
US20040010543A1 (en) * 2002-07-15 2004-01-15 Steven Grobman Cached resource validation without source server contact during validation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2816783A1 (en) * 2013-06-11 2014-12-24 Samsung Electronics Co., Ltd Communication method of node overhearing content in content centric network and node
US9661098B2 (en) 2013-06-11 2017-05-23 Samsung Electronics Co., Ltd. Communication method of node overhearing content in content centric network and node
US10666759B2 (en) 2013-06-11 2020-05-26 Samsung Electronics Co., Ltd. Communication method of node overhearing content in content centric network and node

Also Published As

Publication number Publication date
AU2007231759B2 (en) 2011-05-26

Similar Documents

Publication Publication Date Title
US10182267B2 (en) Methods and apparatus for integrating media across a wide area network
EP1474751B1 (en) Managed object replication and delivery
US8544046B2 (en) System and method for controlling media rendering in a network using a mobile device
US8281001B2 (en) Device-to-device network
US8386465B2 (en) System and method to manage and distribute media using a predictive media cache
US8019830B2 (en) Methods and apparatus for acquiring file segments
US20130282793A1 (en) Media content sharing
KR20030056701A (en) Apparatus and method for providing multimedia streaming service by using point-to-point connection
US20070239864A1 (en) Method and apparatus for synchronizing contents of home network devices
US20180041611A1 (en) Content-based redirection
US20090265443A1 (en) Network apparatus, content distribution method and computer program product
JP2014519636A (en) Method and apparatus for caching in a networked environment
US20080178094A1 (en) Server-Side Peer-to-Peer (P2P) Media Streaming
TWI351849B (en) Apparatus and method for transmitting streaming se
WO2011144087A2 (en) Method and digital media player for mounting network attached storage device
US20090228466A1 (en) Method of and device for searching for relevant content in a network
US20080313150A1 (en) Centralized Network Data Search, Sharing and Management System
US20080077668A1 (en) Method and apparatus for synchronizing content directory service objects of universal plug and play media servers
US20080115177A1 (en) Method and system for providing a file
CN1905670A (en) Method and apparatus for implementing video-on-demand live telecasting based on network technique
US8082326B2 (en) Server and server program
US20130054691A1 (en) Flexible rule based multi-protocol peer-to-peer caching
AU2007231759B2 (en) Adaptive content caching
KR100674085B1 (en) Apparatus and Method for Transcoding of Media format and Translating of the Transport Protocol in home network
WO2008041422A1 (en) Terminal device in content distribution system, its information processing method, and recording medium containing program

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)
MK14 Patent ceased section 143(a) (annual fees not paid) or expired