throbber
as) United States
`a2) Patent Application Publication (0) Pub. No.: US 2009/0222515 Al
` Thompsonet al. (43) Pub. Date: Sep. 3, 2009
`
`
`
`US 20090222515A1
`
`(54) METHODS AND APPARATUS FOR
`TRANSFERRING DATA
`
`(75)
`
`Inventors:
`
`Mark Thompson, Tempe, AZ (US);
`Frederic J. Buonincontri, Tempe,
`AZ (US); TuomasKetola, Tempe,
`AZ (US)
`
`Correspondence Address:
`THE NOBLITT GROUP, PLLC
`4800 NORTH SCOTTSDALE ROAD,SUITE 6000
`SCOTTSDALE, AZ 85251 (US)
`
`(73) Assignee:
`
`Solid State Networks, Inc.
`
`(21) Appl. No.:
`
`12/346,270
`
`(22)
`
`Filed:
`
`Dec. 30, 2008
`
`Related U.S. Application Data
`(60) Provisional application No. 61/018,031, filed on Dec.
`31, 2007.
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`(2006.01)
`G06F15/16
`(52) U.S.Cwu. 709/203; 709/204; 709/217; 709/230
`(57)
`ABSTRACT
`
`Methods and apparatus for transferring data according to
`various aspects of the present invention may operate in con-
`junction with a computer system configured to connect to a
`p2p network. The computer may run a p2p communication
`program that receives a request for content via the p2p net-
`work. The computer determines whetherto fulfill the request
`according to variouscriteria, such as whether the p2p com-
`munication program is currently accessing a second content
`from the p2p network and/or whether the first content is
`associated with the second content.
`
`DEFINE DISTRIBUTION LIMITATION
`PARAMETERS
`
`CLIENT 105 ACCESSES SERVER
`
`CLIENT 105 BEGIN DOWNLOAD
`
`:
`
`REGEIVE DOWNLOAD REQUEST
`
`4lo
`
`eZ
` APPROVED
`
`NO
`RQUESTOR
`
`
`CATEGORY?
`
`
`ug.
`
`
`TERMINATE
`
`SESSION
`
`
`Alb
`
`REQUEST FILE
`SEGMENT(S)
`
`
`420
`IS FILE
`
`
`SEGMENT
`
`PROPER?
`
`
`42).
`
`TERMINATE
`SESSION
`
`DISTRIBUTE FILE SEGMENT(S) ACCORDING
`TO DISTRIBUTION PARAMETERS
`
`
`
`STOP
`
`(stor)
`
`Data Co Exhibit 1056
`Data Co Exhibit 1056
`Data Co v. Bright Data
`
`Data Co v. Bright Data
`
`

`

`Patent Application Publication
`
`Sep. 3, 2009 Sheet 1 of 3
`
`US 2009/0222515 Al
`
`3
`_
`
`a
`-
`
`S
`—
`
`=
`
`wu
`ac
`
`cc
`
`tu
`a
`
`uuoO
`
`ag
`wy
`
`109
`
`f 124
`
`F1G
`
`105
`
`faLyLg
`
`CLIENT
`
`|
`
`116
`
`115
`
`~
`
`CLIENT
`
`CLIENT
`
`105
`
`105
`
`

`

`Patent Application Publication
`
`Sep. 3, 2009 Sheet 2 of 3
`
`US 2009/0222515 Al
`
`REQUEST URL
`
`RECEIVE FILE INFO
`
`
`
`
`START OR CONTACT
`TRANSLATION SERVER
`
`
`
`
`
`~
`
`PROVIDE REQUEST TO
`TRANSLATION SERVER
`
`216
`
`210
`
`
`
`
`
`
`
`START RETRIEVING
`FILESEGMENTS
`
`SELECT RETRIEVAL
`CRITERIA
`
`IF NEEDED, CONTACT _
`RELIABLE SERVICE SERVER
`
`PROVIDE DATA TO
`MEDIA PLAYER
`
`|
`
`224
`
`FIG.2
`
`

`

`Patent Application Publication
`
`Sep. 3, 2009 Sheet 3 of 3
`
`US 2009/0222515 Al
`
`START
`
`DEFINE DISTRIBUTION LIMITATION
`PARAMETERS
`
`CLIENT 105 ACCESSES SERVER
`
`|
`
`CLIENT 105 BEGIN DOWNLOAD
`
`RECEIVE DOWNLOAD REQUEST
`
`Yo
`
`GI2
`
`
`APPROVED
`NO
`RQUESTOR
`
`
`CATEGORY?
`
`
`Ug
`
`
`
`TERMINATE
`
`SESSION
`
`
`
`“Ne
`
`REQUESTFILE
`SEGMENT(S)
`
`
`420
`
`IS FILE
`
`
`SEGMENT
`PROPER?
`
`App
`
`
`TERMINATE
`SESSION
`
`DISTRIBUTE FILE SEGMENT(S) ACCORDING
`TO DISTRIBUTION PARAMETERS
`
`FI. 3
`
`

`

`US 2009/0222515 Al
`
`Sep. 3, 2009
`
`METHODS AND APPARATUS FOR
`TRANSFERRING DATA
`
`CROSS-REFERENCES TO RELATED
`APPLICATIONS
`
`[0001] This application claims the benefit of U.S. Provi-
`sional Patent Application No. 61/018,031, filed Dec. 31,
`2007.
`
`BACKGROUND
`
`Increasingly, the Internet and other networks are
`[0002]
`used to transfer digital media in the form of video and music
`files. To access these files, a user may navigate to a website
`that provides links to music and videofiles that are stored on
`a web server. To view orlisten to those files, a user may
`download them directly from the web server. Servers that
`provide contentto a large numberof users must, accordingly,
`have sufficient bandwidth to serve those files. For many orga-
`nizations, the expense of acquiring sufficient bandwidth to
`provide a satisfactory user experience is prohibitive.
`[0003]
`In an effort to minimize the expense anddifficulty
`associated with the distribution of a large amount of content
`through a network, various peer-to-peer (p2p) protocols and
`associated networks have been developed, such as BitTorrent,
`Gnutella, Skype, etc. A p2p network distributes content
`through the network using the computing power and band-
`width available to the network’s individual users to transfer
`
`files instead of relying entirely on the bandwidth of a single
`server or group ofservers.
`[0004]
`In p2p networks, as a peer is receiving content, the
`peer mayalso be transmitting content to other peers. The peer
`responds to requests at any time to provide content to other
`peers, regardless of the content, the requesting peer, or the
`resources of the peer. Resources dedicated to servicing
`requests of other peers may degrade performance. Asa result,
`the transfer rate for a particular file may be substantially
`diminished whenservicing requests fromotherpeers. In addi-
`tion, the user may misinterpret the loss of performance as a
`deficiency attributable to the content requested by the user or
`to the content source.
`
`FIG. 1 is a block diagram of a system for transfer-
`[0007]
`ring data according to various aspects of the present inven-
`tion;
`FIG. 2 isa flow diagram of a system fortransferring
`[0008]
`data accordingto variousaspectsofthe present invention; and
`[0009]
`FIG. 3 is a flow diagram for processing content
`requests accordingto various aspectsofthe present invention.
`[0010] Elements andsteps in the figures are illustrated for
`simplicity and clarity and have not necessarily been rendered
`according to any particular sequence. For example, steps that
`may be performed concurrently or in a different order are
`illustrated in the figures to help to improve understanding of
`embodiments of the present invention.
`features,
`[0011] Representative
`elements,
`operational
`applications and/or advantages ofthe present invention reside
`in the details of construction and operation as more fully
`hereafter described or otherwise identified. The description
`mayrefer to the accompanying drawings, images. figures,
`etc., wherein like numerals (if any)referto like parts through-
`out. Elements. operational
`features. applications and/or
`advantagesare illustrated by certain exemplary embodiments
`recited in the disclosure herein.
`
`[0012] Elements in the figures, drawings, images, etc. are
`illustrated for simplicity and clarity and have not necessarily
`been drawnto scale. For example, the dimensions of some of
`the elements in the figures may be exaggerated relative to
`other elements to help improve understanding of various
`embodiments of the present
`invention. Furthermore,
`the
`terms‘first’, ‘second’, and the like herein, if any, are used for
`distinguishing between similar elements and not necessarily
`for describing a sequential or chronological order. Moreover,
`the terms‘front’, ‘back’, ‘top’, ‘bottom’, ‘over’, ‘under’, and
`the like in the disclosure and/or in the exemplary embodi-
`ments, if any, are generally employed for descriptive pur-
`poses and not necessarily for comprehensively describing
`exclusive relative position. Any of the preceding terms so
`used may be interchanged under appropriate circumstances
`suchthat various embodiments of the invention, for example,
`are capable of operation in other configurations and/ororien-
`tations
`than those
`explicitly illustrated or otherwise
`described.
`
`SUMMARYOF THE INVENTION
`
`DETAILED DESCRIPTION OF EXEMPLARY
`EMBODIMENTS
`
`[0005] Methodsand apparatusfor transferring data accord-
`ing to various aspectsof the present invention may operate in
`conjunction with a computer system configured to connect to
`a p2p network. The computer may run a p2p communication
`program that receives a request for content via the p2p net-
`work. The computer determines whetherto fulfill the request
`according to variouscriteria, such as whether the p2p com-
`munication program is currently accessing a second content
`from the p2p network and/or whether the first content is
`associated with the second content.
`
`BRIEF DESCRIPTION OF THE DRAWING
`FIGURES
`
`features,
`elements, operational
`[0006] Representative
`applications and/or advantagesofthe present invention reside
`in the details of construction and operation as more depicted,
`described and claimed. Reference is made to the accompany-
`ing drawings, wherein like numerals typically refer to like
`parts.
`
`relate to exemplary
`[0013] The present descriptions
`embodiments of the invention and the inventor’s conception
`of the best mode and are not intended to limit the scope,
`applicability or configuration of the invention in any way.
`Instead, the following description is intended to provide con-
`venient illustrations for implementing various embodiments
`ofthe invention. Changes may be madein the function and/or
`arrangementof any ofthe elements described in the disclosed
`exemplary embodiments without departing from the spirit
`and scope of the invention.
`[0014] Referring to FIG. 1, a system for transferring data
`100 according to various aspectsofthe present invention may
`function with multiple computers exchanging data. For
`example, the present exemplary system for transferring data
`100 operates in conjunction with multiple clients 105 con-
`nected to each other and/or one or more remote servers 120
`and/or other data sources 122 via a medium 124. Data is
`transferred amongthe variousclients 105, servers 120, and/or
`other data sources 122 via the communications medium 124.
`
`

`

`US 2009/0222515 Al
`
`Sep. 3, 2009
`
`[0015] The medium 124facilitates the transfer of informa-
`tion, and may comprise any suitable medium fortransferring
`information. For example, the medium 124 may comprise the
`Internet, a local area network or any other suitable wired or
`wireless communications network. In the present embodi-
`ment, the medium 124 may include a p2p network 125 com-
`prising multiple devices configured to exchange information,
`suchas using a BitTorrent protocol to distribute digitalfiles.
`The p2p network 125 may, however, comprise a network of
`computers using alternative systems for communicating and
`distributing data or files via the medium 124, such as
`Microsoft’s Avalanche system, Skype, Gnutella, Napster, or
`any other appropriate dataor file distribution system.
`[0016] Any appropriate systems and devices may be con-
`nected to the p2p network 125, such as clients 105, comput-
`ers, entertainment systems, data sources 122, and servers 120.
`Inthe present embodiment, one or more data sources 122 may
`be connected to the p2p network 125 and provide data, for
`example in response to requests. The data sources 122 may
`comprise any suitable systems for providing data, such as a
`local storage media, networked storage systems and comput-
`ers, web servers, databases,
`loopback network interfaces,
`cameras, PDAs,televisions, radios, and/or other recording or
`audiovisual systems, andthelike.
`[0017]
`In addition, the present embodiment may include
`one or more servers 120 that may operate as data sources 122
`and provide other appropriate functions. The servers 120 may
`comprise any suitable computer systemsor other electronic
`devices configured to communicate via the medium 124. For
`example, the servers 120 may comprise hardware, software,
`and/or networking components configured to receive and pro-
`cess requests from the clients 105 and provide a suitable
`website or other Internet-based user interface that is acces-
`
`sible by the clients 105. In one embodiment, the server 120
`comprises a conventional networked computer server run-
`ning an operating system, such as Microsoft Windows, Mac
`OSX, or Linux, and a web server, such as an Apache web
`server. The server 120 may comprise a daemon or software
`application, a physical computer that is connected to a net-
`work, and/or a combination of software and hardware.
`[0018]
`Inone embodiment, the system for transferring data
`100 includes one or morereliable service servers 135. The
`reliable service server 135 may comprise a reliable resource
`for obtaining information via the p2p network 125 when such
`information is otherwise difficultto retrieve. For example, the
`reliable service server 135 may be configured to maintain a
`copy ofa large portion, suchas substantially all, ofthe content
`available via the p2p network or associated with one or more
`particular content providers. The reliable service server 135
`may also comprise a highly reliable system that is consis-
`tently available to other network elements. Thus, in the event
`that a file or file segment cannot be readily retrieved from
`other network resources, the client 105 may access thereli-
`able service server 135 to acquire the missing information. By
`doing so, the reliable service server 135 may improvefile
`availability in the event of lower file segment availability
`from the other elements ofthe p2p network 125 and otherwise
`minimize the degradation offile transfer rate associated with
`the p2p network 125.
`[0019] When the p2p network 125 performance is degraded
`such that it becomes difficult to retrieve particular file seg-
`ments, the clients 105 mayretrieve the file segments directly
`from the reliable service server 135 to mitigate the problems
`associated with the p2p network’s 125 performance. Thus, if
`
`files are not available from other sources on the p2p network
`125, such as due to the recentintroductionofthefile segments
`to the p2p network 125, the file segments may beretrieved
`from the reliable service server 135. Also, when a user wishes
`to skip to view a different portion of the file, the reliable
`service server 135 may be used to mitigate performance deg-
`radation associated with downloading the new file segments
`from the p2p network 125, for example by providing particu-
`lar file segments selected by the userthat are not immediately
`available from other sources in the p2p network 125.
`[0020] The clients 105 may receive, store, and/or transmit
`information via the medium 124. Theclients 105 may com-
`prise any systems connected to a network for communicating
`and/or accessing data. For example, one or moreclients 105
`may comprise conventional computers having a processor
`and a memory responsiveto the processor, such as RAM,hard
`drives, CD-ROM drives and disks, HD-DVD drives and
`disks, or other appropriate volatile or non-volatile memory
`systems. Alternatively, the client 105 may comprisea televi-
`sion, stereo, radio, gaming console,
`telephone, personal
`media player, digital assistant, or other network-connected
`device that receives digital or analog media content.
`[0021]
`Inthe present embodiment, the clients 105 execute
`software for requesting and providing information via the
`medium 124. For example, each client 105 may comprise a
`conventional computer system that runs an operating system,
`such as Microsoft Windows, Mac OSX, Windows CE, Win-
`dows XP Embedded, Linux or other PC or embedded oper-
`ating system, and is capable of executing software and con-
`necting to a network. The client 105 may connect to the
`network in many different ways, including a network cable
`connection or a wireless connection. Also, the client 105 may
`communicate through the network using any appropriate
`communication protocols, such as TCP/IP, UDP, etc.
`[0022] One or more ofthe clients 105 may operate client
`applications 110 to receive and/or transmit data via the
`medium 124. The client application 110 may comprise any
`software capable of requesting and/or receiving data via the
`medium 124. The client application 110 mayalso request any
`appropriate data, such as digital data encodedin a particular
`format, such as a QuickTimevideofile, MP3 file, PostScript
`file, or Microsoft Windows executablefile, that may be used
`by the client application 110 or another application to per-
`form tasks. For example, the client application 110 maydis-
`play information on a computer screen, play sounds through
`a soundcard, play or patch a game, transmit data to another
`device such as a computer or television, download and/or
`otherwise prepare data for use by another application, or
`otherwise use downloaded data. The client application 110
`may comprise, for example, a media player, a downloading
`program, a file-sharing program, a game, or other suitable
`program. In the present embodiment, the client application
`includes a BitTorrentclient that utilizes the BitTorrent proto-
`col or other appropriate p2p protocol for data transfer.
`[0023]
`Forexample,the client application 110 may include
`a communication program to cause the client 105 to receive
`the data, format or translate the data for use by the client
`application 110, assemble the data into a proper sequence,
`and/or provide the formatted and/or assembled data to
`another program or portion of the communication program
`for use. The client application 110 may comprise or operate in
`conjunction with a web browser, such as one or more plug-in
`programsthatinteract with the web browser. The plug-in may
`operate as separate code from the main program,for example
`
`

`

`US 2009/0222515 Al
`
`Sep. 3, 2009
`
`to read or edit specific types offiles, such as to play and watch
`Flash presentations in the web browser.
`[0024] The client application 110 may be further config-
`ured to control responding to requests for files according to
`selected criteria. For example, the client application 110 may
`receive requestsforfiles or file segments from other peers in
`the p2p network 125, determine the availability of the
`requested data, and respond according to the availability of
`the requested data and anyotherselected restrictions or rules.
`For example, the client application 110 may be configured to
`permit transfers to a requesting peer, unless the requesting
`peer is restricted, such as accordingto a listing of restricted
`peers or associated characteristics, such as domain names or
`other identifiers. Restrictions may be associated withparticu-
`lar domain names, clients, or other characteristics of the
`requesting peer. Restrictions may also be associated with
`other characteristics, such as characteristics of the file seg-
`ments, activities of the client 105 receiving the request,
`requirements of the content owner, and/or other suitablecri-
`teria. The restrictions may comprise one or more rules, such
`as rules prohibiting responding to a download request from a
`restricted domain, prohibiting responding to a download
`request for content not associated with a particular domain, or
`non-domainrelatedrestrictions.
`
`In one embodiment, if the requested content is not
`[0025]
`associated with a particular domain name, the request is
`denied. For example, requests for content associated with a
`particular content provider’s domain name maybefulfilled,
`while requests for content from another content provider may
`be denied. In another example, if the incomingfile request is
`for content associated with content currently being down-
`loaded bythe client application 110, such as content originat-
`ing from the same domain, the client application 110 may
`proceed with transferring the content to the requesting peer. If
`the requested content does not originate from the same
`domain or is otherwise unrelated to the content currently
`being downloaded by the client application 110, then the
`client application 110 may denythefile transfer request to
`avoid degrading download performance.
`[0026] The files may comprise any suitable collections of
`information collected under a particular name, such as con-
`ventional computerfiles. The files may include subfiles or any
`other appropriate structure. In addition, the informationin the
`files may be any appropriate information, such as data for
`sound, video, program data, patch information, gamedata, or
`the like. In many cases, to distributea file, the content pro-
`vidersor the clients 105 ofthe p2p network 125 split a file into
`a series offile segments, such as in accordance with conven-
`tional BitTorrent distribution. The size of the file segments
`may be determined by several factors, including the perfor-
`manceof the medium 124 through which the clients 105 of
`the p2p network 125 communicate, the size of the original
`file, or other factors. When a client 105 wishesto retrieve a
`particularfile from the p2p network 125, that client 105 can
`communicate with other clients 105 ofthe p2p network 125 to
`discover the availability of particular file segments that com-
`prise the file. The clients 105 may then retrieve those file
`segments and then can combinethem to recreate the original
`file.
`
`[0027] The client application 110 may be configured to
`retrieve a p2p file description from a server 120 or other data
`source 122. The p2p file description describes the file and
`provides sufficient data such that the file may beretrieved
`from the p2p network 125 and/or thereliable server service
`
`135 or other data source 122. For example, the client appli-
`cation 110 may retrieve a webpage from the server 120 or
`other data source 122 that contains an HTMLtag, such as an
`
`<EMBED>tag,that instantiates a translation server 115 and
`a media player 116 or other file-using program and contains
`sufficientdata for the translation server 115 to retrievethefile
`
`from the p2p network 125. In one embodiment, the translation
`server 115 and/or the media player 16 are implemented as
`browserplug-ins that interact with the main or host applica-
`tion
`
`[0028] The <EMBED> tag mayinclude a p2pfile descrip-
`tion containing all the information that the translation server
`115 requiresto retrieve a file from a server 120, p2p network
`125, or other source 122. Furthermore, the <EMBED> tag
`may include information that instructs the media player 116
`or otherfile-using program howto retrieve and play or oth-
`erwise utilize the file as it is subsequently provided by the
`translation server 115. For example, for a BitTorrent network,
`the <EMBED> tag may describe the URL ofa tracker that
`communicates with the clients 105 that are connected to the
`
`p2p network 125 andare distributing file segments, the name
`ofthefile, the size ofthe file segments, the size ofthe file, and
`other information that allows the translation server 115 or
`
`client application 110 to verify the integrity of the file seg-
`ments retrieved from the p2p network 125.
`[0029]
`Thefile-using program may comprise any suitable
`system or application for using the received information. In
`the present embodiment, the file-using program comprises
`the media player 116, which may comprise a conventional
`program for rendering audiovisual information based on elec-
`tronic data, such as an Adobe PDF reader, a Flash-based
`movie player, or a Windows Media Player. The file-using
`program maybeselected according to the type of content or
`other appropriate criteria, and may comprise any appropriate
`program or system for using the received data, such as an
`entertainment player, a game, or other program. In addition,
`the file-using program may be initiated by an appropriate
`event, such as via a web browserplug-in or other program that
`initiates in response to a request to download and play a
`compatible file type.
`[0030] The translation server 115 receives the file segments
`from the various network resources and provides the
`assembledfile segmentsto the file-using program.Thetrans-
`lation server 115 may comprise a software application
`executed by the client 105 and/or a remote computer config-
`ured to communicate with the requesting client 105. In the
`present embodiment, the translation server 115 comprises a
`program running on the requesting client 105, and may be
`initiated in response to a downloadrequest. For example,like
`the file-using program, the translation server 115 may be
`implemented as a web browserplug-in or other program that
`initiates the translation server 115 in response to a request to
`download and play a compatiblefile type.
`[0031] The p2p network 125 is suitably configured to com-
`municate with the translation server 115 suchthat the trans-
`lation server 115 is capable of communicating with the clients
`105 andretrievingfile segments from the p2p network 125. In
`the present embodiment, the translation server 115 and the
`file-using program maybeinitiated in responseto file infor-
`mation indicating thatthe file is in a format compatible with
`the file-using program anddistributed via a protocol compat-
`ible with thetranslation server 115. For example, the EMBED
`tag may indicate that the associated file is distributed via
`BitTorrent protocols, causing the client application 110 to
`
`

`

`US 2009/0222515 Al
`
`Sep. 3, 2009
`
`initiate the translation server 115 to retrieve the file segments.
`In addition, the EMBEDtag mayindicate thatthefile type is
`an Adobe PDFfile, which may cause the client application
`110 or the translation server 115 to initiate an Adobe PDF
`
`Reader media player 116.
`[0032] The translation server 115 requests and receives the
`file segments according to any appropriate protocols and
`techniques. For example,
`the translation server 115 may
`request file segments according to BitTorrent or otherfile
`distribution processes. In the present embodiment,thetrans-
`lation server 115 contacts a tracker identified in the EMBED
`
`tag, accessesa distributed hashtable, or otherwise determines
`network resources for requesting the relevant file segments.
`The translation server 115 then requests the file segments
`from the various identified network resources.
`
`[0033] The translation server 115 may request file seg-
`ments from the p2p network 125 according to the sequence of
`the file segments in the original file. By retrieving thefile
`segments sequentially, the media player 116 can consumethe
`file segments’ contents in substantially the same orderas that
`in which they are received. The translation server 115 may
`also or alternatively request the file segments according to
`scarcity or availability on the p2p network 125 to allow opti-
`mal timetoretrieve rare file segments.
`[0034] As the translation server 115 receives the file seg-
`ments, the translation server 115 may assemblethe file seg-
`ments into a proper sequence for transmission to thefile-
`using program for consumption. For example,the translation
`server 115 may assemble thefile segments ofa moviefile into
`the proper sequence for playback so that the file may be
`streamed to the media player 116.
`[0035] The files may be received in the proper sequence,
`and may not require assembly. If the file segments are not
`received in sequential order, for example due to a request
`sequence, varying retrieval times for different file segments
`and network resources, varying connection qualities to net-
`work resources, or failed communications or requests, the
`translation server 115 may assemble thefile segmentsinto the
`proper sequence before providing them to the file-using pro-
`gram.
`[0036] As the file segments are received and assembled,
`somefile segments may not be found. Thetranslation server
`115 may request missing file segments by searching other
`network resources for the missing segments. In the present
`embodiment, the translation server 115 requests the file seg-
`ments from various network resources according to a request
`procedure. In the present embodiment, the request procedure
`is configured to reduce burdens on central resources such as
`the servers 120 andthe reliable service server 135, but retain
`the ability to acquire missing file segments. For example, the
`translation server 115 mayinitially requestfile segments from
`other clients 105. Ifa file segment cannot be retrieved from
`the other clients 105, the translation server 105 may request
`the missing file segment from the servers 120, which may
`have a greater selection of file segments but slower response
`times. If the missing file segment remains unavailable, the
`translation server may request the file segment from the reli-
`able service server 135.
`
`[0037] Thetranslation server 115 mayalso translate incom-
`ing file segments into a format that can be used by the media
`player 116, client application 110, or other appropriate sys-
`tem. In the present embodiment, the translation server 115
`receives the file in a first format and retransmits received file
`
`to the file-using program using an alternative transmission
`
`protocol. For example, the present translation server 15 may
`retrieve file segments from the p2p network 125 using the
`BitTorrent protocolor other suitable peer-to-peerfile transfer
`protocol and retransmit those file segments using an HTTP
`protocol. The translation server 115 may retransmitthefile
`using any other appropriate protocols, such as RTSP, FTP,
`DSS, or by simply providing access to a file stored on a local
`or network-accessible storage system.
`[0038]
`For example, the translation server 115 mayretrieve
`the requested information from the p2p network 125 as Bit-
`Torrent file segments and convert the data into a local HTTP
`stream. The media player 116 maythen receive the data from
`the local HTTP stream as it is made available by the transla-
`tion server 115. Thus, the translation server 115 may operate
`as a local server, such that media player 116 perceives the
`translation server 115 as an original source ofthe HTTPdata.
`The media player 116 may receive a video stream from the
`local server in the same manner as a remote source, for
`example from http://localhost/movie_file.mov rather than
`http://www.website.com/movie_file.mov. Consequently, the
`translation server 115 is effectively transparent to the media
`player 116, and the media player 116 does not require specific
`configuration to operate with the p2p network 125 or other
`network resources.
`
`[0039] The translation server 115 may provide the data in
`any appropriate manner, such as according to the type and
`availability ofthe downloadeddata. For example, ifthe down-
`loaded data comprises a non-sequential collection of data,
`such as a software program that cannot be executed until all
`elements are downloaded, the translation server 115 may
`retain the data until the file has been fully received and
`assembled, or may retransmit the data substantially immedi-
`ately for assembly and/or use by the media player 116 when
`all of the file segments have been received. If the data com-
`prises a sequential presentation, the translation server 115
`may retransmit data in the appropriate sequenceastherel-
`evantfile segments are received. If the data is available, the
`information contained within the downloadedfile segments
`maybe retransmittedbythe translation server 115 in approxi-
`mately real-time, such that data is retransmitted generally as
`it becomesavailable. Thus, the translation server may begin
`streaming the data to the file-using program before the entire
`file has been received. Alternatively, retransmission may be
`delayed as determinedby the requirements ofthe client appli-
`cation 110, user preferences, or other pre-determined input.
`The translation server 115 mayalso perform any other appro-
`priate tasks to make the data useable by the media player 116,
`such as processing interactions with the media player 116.
`[0040]
`‘Toretrieve data for usage by the client 105,the client
`application 110 requests a particular file. In response, the
`system for transferring data 100 transmits the segments ofthe
`file to the client 105. As the file segments are received, the
`client application 110 may prepare the files for usage. For
`example, the translation server 115 may receive thefile seg-
`ments and providethefile segments to the media player 116
`as a local server. In addition, the translation server 115 may
`sequence, translate, and/or formatthe file segments for use by
`the media player 116.
`[0041] More particularly, the system for transferring data
`100 may transfer information in response to a requestiniti-
`ated bythe client application 110. The request may comprise
`a communication from a client application 110 requesting a
`particular file or information describing a file and how to
`retrieve thefile from a p2p network 125. For example, refer-
`
`

`

`US 2009/0222515 Al
`
`Sep. 3, 2009
`
`115 mayseek file segments accordingto scarcity to download
`ring to FIG. 2, a web browser operating on the client 105 may
`request data from a URL oneofthe servers 120 (210). The
`those file segments that are the least available in the p2p
`
`URL mayrefer to a webpage and correspondtoafile to be network 125 before other file segments that are more widely
`retrieved, such asa file that contains text and HTMLtags, an
`available. On the other hand, whenthe client application 110
`executable file or script that the server 120 runs and whose
`requests streaming data, such as video, music, or other suit-
`output may be transmitted to the client software application
`able files for immediate sequential presentation or execution,
`110, or a file that contains data.
`the useror application may wish to begin accessingthefile as
`soon as possible. In such circumstances, when requesting
`[0042]
`In addition, the URL maypoint the client applica-
`data from the p2p network 125,the translation server 115 may
`tion 110 to a source for downloading the file, such

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket