`Case 4:20-cv-00432-SDJ Document 1-4 Filed 05/26/20 Page 1 of 26 PageID #: 69
`
`
`
`
`EXHIBIT 3
`
`EXHIBIT 3
`
`
`
`
`
`Case 4:20-cv-00432-SDJ Document 1-4 Filed 05/26/20 Page 3 of 26 PageID #: 71
`
`-
`
`119
`
`v
`
`110
`
`VIDEO
`AMP
`
`'/
`
`116 [J
`
`117
`
`v
`
`PROCESSOR
`
`113
`
`/
`
`VIDEO
`MEMORY
`
`114
`I/
`
`MAIN
`MEMORY
`
`115
`
`/
`
`126
`
`SERVER
`
`"(, ·~
`INTERNET a
`~ISP~,
`
`124
`
`- -
`
`118
`\
`
`....
`
`110
`
`/
`
`KEYBOARD
`
`MOUSE
`
`111
`
`v
`
`MASS
`STORAGE
`
`112 v
`
`120
`
`I
`
`COMM
`INT
`
`NETWORK
`
`LINK \
`
`121
`
`1
`2.2
`
`t
`
`LOCAL
`NCTWOR.~
`
`-
`
`123
`
`........
`
`SERVER
`
`\
`100
`
`FIGURE 1
`
`~
`00
`•
`~
`~
`~
`
`~ = ~
`
`c ('D
`
`~
`(.H
`"'o
`N
`0
`0
`QO
`
`('D
`('D
`
`1J1 =(cid:173)
`.....
`....
`0 .....
`....
`N
`
`d
`rJl
`-....l
`~
`-....l
`N
`"' "'""
`tit = N
`
`-....l
`
`
`
`
`
`Case 4:20-cv-00432-SDJ Document 1-4 Filed 05/26/20 Page 5 of 26 PageID #: 73
`
`U.S. Patent
`
`Dec. 30, 2008
`
`Sheet 3of12
`
`US 7,472,175 B2
`
`DOWNLOAD
`PLUG-JN
`l
`JNSTAU
`PLUG-JN
`I
`
`"-404
`
`"-406
`
`/408
`
`410
`
`420
`
`v430
`
`v440
`
`450
`
`,r460
`
`,r470
`
`,r480
`
`REGISTER
`AS USER
`
`v402
`
`USER LOG ON
`TO SERVER
`
`"CREATE" COMMAND
`
`SERVER BASED CONTROL
`
`'
`'
`'
`'
`
`CREATE MEDIA FILE
`AT PLUG-IN
`~
`DIGITAL SIGNAL
`PROCESSING AT PLUG-IN
`
`'
`
`ENCODE FILE AT PLUG-IN
`l
`UPLOAD FILE FROM
`PLUG-IN TO SERVER
`
`'
`
`FILE MANAGEMENT
`SYSTEM PROCESS
`
`I
`INFORMATION
`MANAGEMENT
`SYSTEM
`PROCESS
`
`f
`FILE RETRIEVAL
`PROCESS
`
`'
`
`"'-490
`
`FIGURE 4
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 4:20-cv-00432-SDJ Document 1-4 Filed 05/26/20 Page 11 of 26 PageID #: 79
`
`U.S. Patent
`
`Dec. 30, 2008
`
`Sheet 9of12
`
`US 7,472,175 B2
`
`.... 930
`
`WEB PAGE
`SERVER
`
`v960
`
`v-950
`
`v-920
`
`CREATOR
`USER
`
`~910
`
`FIGURE9
`
`,. 980
`
`MEDIA FILE
`SERVER
`
`/""9 70
`
`_,,..,-990
`
`v 940
`
`USER
`
`
`
`
`
`Case 4:20-cv-00432-SDJ Document 1-4 Filed 05/26/20 Page 13 of 26 PageID #: 81
`
`U.S. Patent
`
`Dec. 30, 2008
`
`Sheet 11 of 12
`
`US 7,472,175 B2
`
`A
`
`-
`
`PROVIDE DATA ASSOCJATED
`WITH UST ENTRIES
`(I NCl.UDING POPULARflY)
`___ ..._
`ACCUMULATE USAGE
`DATA
`(POPULARITY DATA)
`
`........--1055
`
`,.~
`
`---1060
`
`/ ..
`
`RANK POPULARJ1YJUSAGf
`AND STORE DATA IN
`DATABASE
`
`.. ~1065
`
`/
`
`··- .................
`
`PROVIDE CREATOR~ USERS
`L/STOWNERS, MANAGERS ,..T .,..--1070
`wrrH POPULARl7Y
`USAGE DATA
`
`f/.GURE 108
`
`
`
`
`
`Case 4:20-cv-00432-SDJ Document 1-4 Filed 05/26/20 Page 15 of 26 PageID #: 83
`
`US 7,472,175 B2
`
`1
`SYSTEM FOR CREATING AND POSTING
`MEDIA FOR SHARING ON A
`COMMUNICATION NETWORK
`
`CROSS-REFERENCES TO RELATED
`APPLICATIONS
`
`This patent application is a continuation of U.S. patent
`application Ser. No. 09/710,654,nowU.S. Pat. No. 7,069,310
`to Bartholomew, entitled "METHOD AND APPARATUS
`FOR CREATING AND POSTING MEDIA" filed Nov. 10,
`2000, the specification of which is hereby incorporated herein
`by reference.
`
`BACKGROUND OF THE INVENTION
`
`2
`browser is capable of playing. The programs that exist to
`accomplish this encoding require a degree of expertise on the
`part of the user.
`Furthermore, media files uploaded to a server have little in
`the way of the capability to incorporate links to other web
`sites as part of the media file or presentation. Current systems,
`for example, lack a way for users to post parts of a presenta(cid:173)
`tion on different servers in order to utilize servers with various
`capabilities (e.g., RealServer™). If parts of the presentation
`10 are posted on different servers, the server must typically be
`provided with the capability to download all of the files asso(cid:173)
`ciated with the presentation to the audience upon request.
`Once again, the steps require user intervention to accomplish
`tasks that require expertise. Furthermore, these tasks are time
`15 consuming and the process of editing or modifying a media
`file or presentation includes repeating the same steps as
`above.
`Another limitation inherent in current systems is that once
`the user generates a media file, there is no simple mechanism
`for depositing the media files into a dynamic environment
`(e.g., a list that changes according to a set of criteria or
`behaviors established by the user). For example, users may
`send files they create to a server, but the prior art does not have
`a way for the posting user to sequence the files according to a
`series of dynamic attributes. Users cannot, for example,
`define the type of files that are to be placed on the server where
`the files that are on the server are associated with a list that
`changes according to criteria established by the user. Thus,
`there is a needfor a system that accomplished these objectives
`30 by providing the user with a dynamic environment in which to
`upload files.
`It is apparent that the current procedures to create, prepare,
`manage and disseminate media files and presentations over
`the Internet are lengthy and tedious, requiring a high level of
`35 knowledge of a number of computer programs for processing
`each step. The process is so tedious because each step typi(cid:173)
`cally requires the use of a different computer program and the
`user must take the output of one program and feed it into the
`next program.
`Moreover, these tasks are currently performed as indi(cid:173)
`vidual steps in separate programs on servers rather than on the
`user's computer. It would be more efficient for users to per(cid:173)
`form as many of these steps as possible on their own comput(cid:173)
`ers or clients, rather than attempt to perform the processing
`using software provided for them on a server.
`For example, a user may have to upload a .WAY file to one
`server for signal processing and know how to operate the
`signal processing for that server. The user will then have to
`load the file to another server for encoding and know how to
`operate that program as well. After that, the user will have to
`load the completed file to a third server for distribution and
`must know how to use the system on that third server as well.
`Therefore, there is a need for a simple, inexpensive way to
`create, process, encode, upload, post and distribute seamless
`media files and presentations while requiring minimal creator
`input, expertise, and time. Hence, a system is needed that runs
`on a user's local PC and is suitable for users who are not
`experts in various media recording, processing, encoding,
`transmitting, and server based software packages.
`
`1. Field of the Invention
`The present invention relates to the generation, transfer,
`and posting of media data in a computer network environ(cid:173)
`ment. More particularly, the invention relates to a client com- 20
`puter based system for creating, processing, encoding, and
`transferring media files for server based storage, posting,
`distribution, and retrieval.
`2. Background Art
`The development of computer technology, computer net- 25
`works and the Internet has brought about a need for better
`ways to create, manage and disseminate files. The advance(cid:173)
`ment of the Internet market has only increased this need and
`allowed providers of such services to maintain a viable busi(cid:173)
`ness.
`However, using current technology, the creation, prepara(cid:173)
`tion, management and dissemination of files (e.g., audio,
`visual media and/or presentation files) over the Internet is a
`tedious and inefficient process for the typical user. For
`instance, in order to disseminate an audio or visual presenta(cid:173)
`tion over the Internet, a number of steps are required. In
`addition, many parts of the process require specialized
`knowledge that many computer users do not have.
`Using current systems, a user must first create or record an
`audio or video file live using a microphone and/or as a com- 40
`pilation of material that may include recordings made live as
`well as prerecorded offerings, including offerings from vari(cid:173)
`ous potential inputs. All of these sources must be mixed
`together into a single recording with the volume and record(cid:173)
`ing level controlled appropriately for each of the components. 45
`While programs exist for accomplishing this task, they
`require a degree of expertise on the part of the user.
`In addition, recorded audio files can be digitally signal
`processed to optimize the quality of the sound using digital
`signal processing. However, such processing can require 50
`many steps including multi-band voice-optimized compres(cid:173)
`sion where compression reduces selected signal input (e.g.
`audio analog compression, not to be confused with data com(cid:173)
`pression or encoding). Current systems also provide a way to
`optimize other types of files (e.g., video, audio, etc ... ) using 55
`digital or analog optimization techniques. For example, in
`order to create professional quality media files, these steps are
`generally not optional and thus failure to perform them put a
`web broadcaster at a competitive disadvantage as compared
`to one who does perform them.
`Also, in order to use a file with certain software applica(cid:173)
`tions, the file is usually converted into a file format, such as
`Real Audio™, that can be replayed by that application. File
`conversion may also be required when the target application
`is a web browser. For instance, ifthe intended recipient is a 65
`web browser, the file is encoded into a format (e.g., WAY) that
`the web browser or a help application associated with the web
`
`60
`
`SUMMARY OF THE INVENTION
`
`The present invention provides a method and apparatus for
`creating and posting media. Embodiments of the invention
`provide a convenient process for a user to quickly create,
`signal process, encode, and transfer media files to a server for
`storage, posting, distribution, and retrieval. For example,
`
`
`
`Case 4:20-cv-00432-SDJ Document 1-4 Filed 05/26/20 Page 16 of 26 PageID #: 84
`
`US 7,472,175 B2
`
`4
`servers, a data storage medium, and their related connections,
`in accordance with an embodiment of the present invention.
`FIG. 4 is a flow diagram that illustrates the process used by
`the system to create and post media, in accordance with an
`embodiment of the present invention.
`FIG. 5 is a flow diagram that illustrates the process used by
`the system to perform digital signal processing at the plug-in,
`in accordance with an embodiment of the present invention.
`FIGS. 6a and 6b are flow diagrams that illustrate the pro(cid:173)
`cess used by the system to upload or transfer a file to the
`server, in accordance with an embodiment of the present
`invention.
`FIGS. 7a and 7b are flow diagrams that illustrate the pro-
`15 cess used by the system to provide server based control of the
`plug-in, in accordance with an embodiment of the present
`invention.
`FIG. 8 is a flow diagram that illustrates the process used by
`the system to provide a file management system, in accor(cid:173)
`dance with an embodiment of the present invention.
`FIG. 9 is a block diagram that illustrates a method and
`apparatus for distributing media file content to users over a
`network of computers, in accordance with an embodiment of
`the present invention.
`FIGS. lOa and lOb are flow diagrams that illustrate the
`process used by the system to provide an information man(cid:173)
`agement system for giving file and file list rankings, in accor(cid:173)
`dance with an embodiment of the present invention.
`FIG. 11 is a block diagram that illustrates representation of
`information media grams used in the invention, in accordance
`with an embodiment of the present invention.
`
`30
`
`DETAILED DESCRIPTION OF THE INVENTION
`
`35
`
`3
`audio, video, display, photo, database, spreadsheet, voice
`messages, Web Clips, pictures, HTML pages, attachments,
`templates, and/or combinations of such data can be combined
`into a media file for uploading to a server and accessible from
`a listing posted at a web site.
`In accordance with an embodiment of the present inven(cid:173)
`tion, a user accesses a system server to download a plug-in
`and register as a user. After downloading the plug-in, the
`plug-in is installed at step. The user may then log into the
`server where the user is given multiple options. For example, 10
`the user can "create" a media file using the create command.
`If the user selects the create command, server based control is
`initiated and the plug-in continues to record or receive media
`file at the plug-in, in accordance with the control parameters
`received from the system server.
`For example, a user may record audio, video, photo, and/or
`display information options using the plug-in or other sys(cid:173)
`tems. For example, the plug-in may provide a user with a
`system for recording audio information using a PC base
`microphone and video input. Alternatively, a media file may 20
`be recorded using another method, or previously recorded
`and accessed by the plug-in.
`Also, in accordance with another aspect of the invention,
`once the plug in has access to a media file, the plug-in per(cid:173)
`forms digital signal processing upon that media file. In addi- 25
`tion, the plug-in encodes the media file. After a file is
`encoded, it may be uploaded to a server for storage, posting,
`distribution, and retrieval from other client computers.
`According to an embodiment of the invention, recording
`(e.g. setting levels, recording, playback, etc), signal process(cid:173)
`ing of the generated file, RealAudio encoding, and upload to
`a server can be done with as few as 3 clicks (e.g. record/stop/
`upload).
`Upon successful upload of a file, a file management system
`provides copies and listings of the file to other servers and
`web sites as approved by the creator of the file and the owner
`of the servers and/or site owners. For example, once a file is
`uploaded, the system then incorporates the file information
`into one or more web site lists and/or server based database.
`Once a file is incorporated into the databases, any user having
`access to a database or list, may select that file for retrieval or
`playback. Hence, the invention allows for media files to be
`stored to and accessed from one location (e.g. an Internet
`server) that is accessible from various locations (e.g. Internet
`clients via an Internet web site).
`In accordance with another aspect of the invention, an
`information management system provides file and file list
`rankings based upon selection or click through of web page
`listing and/or desired files. Thus, for example, information
`relating to popular selections and lists can be tracked and
`recorded by the system in order to provide list and/or file
`ratings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of an example of a general
`purpose computer system that can be used for implementing
`the invention, in accordance with an embodiment of the
`invention.
`FIG. 2 is a block diagram of a general Internet or client/
`server environment that can be used for implementing the
`invention, in accordance with an embodiment of the present
`invention.
`FIG. 3 is a block diagram of a method and apparatus for
`creating and posting media system implemented in an Inter(cid:173)
`net or client/server environment, showing a client systems,
`
`60 Embodiment of General Purpose Computer Environment
`FIG. 1 is a block diagram of an example of a general
`purpose computer system that can be used for implementing
`the invention, in accordance with an embodiment of the
`invention. For example, an embodiment of the invention can
`65 be implemented as computer software in the form of com(cid:173)
`puter readable program code executed on a general purpose
`computer such as the computer 100 or as system comprising
`
`40
`
`45
`
`50
`
`The present invention provides a method and apparatus for
`providing a system for creating and posting media. In the
`following description, numerous specific details are set forth
`in order to provide a more thorough understanding of the
`present invention. It will be apparent, however, to one skilled
`in the art, that the present invention may be practiced without
`these specific details. In other instances, well-known features
`have not been described in detail in order not to unnecessarily
`obscure the present invention. Hereinafter, the term "system"
`is used to refer to a device and/or a method for performing a
`function. Furthermore, hereinafter, use of the term "media",
`"audio", "video", "data", or "data files" shall comprise vari(cid:173)
`ous types of media including analog and digital audio, video,
`database, and display information or data.
`Embodiments of the invention provide a convenient system
`for the user to create, signal process, encode, and transfer a
`media file (e.g. an audio file) to a server for storage, distribu(cid:173)
`tion, and retrieval from a posting. For example, a system can
`be implemented using a plug-in installed on a general purpose
`55 computer for creating RealAudio recordings with client-side
`processing, and automatically hosting those recordings on a
`computer network server and posting a reference to the
`recording on web site lists.
`
`
`
`Case 4:20-cv-00432-SDJ Document 1-4 Filed 05/26/20 Page 17 of 26 PageID #: 85
`
`US 7,472,175 B2
`
`10
`
`15
`
`5
`a general purpose computer 100. Hereinafter, the term "sys(cid:173)
`tem" is used to refer to a device and/or a method for perform(cid:173)
`ing a function.
`Referring to FIG. 1, a keyboard 110 and mouse 111 are
`coupled to a bi-directional system bus 118 (e.g., PCI, ISA or
`other similar architecture). The keyboard and mouse are for
`introducing user input to the computer system and commu(cid:173)
`nicating that user input to central processing unit (CPU) 113.
`Other suitable input devices may be used in addition to, or in
`place of, the mouse 111 and keyboard 110. I/O (input/output)
`unit 119 coupled to bi-directional system bus 118 represents
`possible output devices such as a printer or an A/V (audio/
`video) device.
`Computer 100 includes video memory 114, main memory
`115, mass storage 112, and communication interface 120. All
`these devices are coupled to a bi-directional system bus 118
`along with keyboard 110, mouse 111 and CPU 113. The mass
`storage 112 may include both fixed and removable media,
`such as magnetic, optical or magnetic optical storage systems 20
`or any other available mass storage technology. The system
`bus 118 provides a means for addressing video memory 114
`or main memory 115. The system bus 118 also provides a
`mechanism for the CPU to transferring data between and
`among the components, such as main memory 115, video 25
`memory 114 and mass storage 112.
`In one embodiment of the invention, the CPU 113 is a
`microprocessor manufactured by Motorola, such as the
`680XO processor, an Intel Pentium III processor, or an UltraS(cid:173)
`PARC processor from Sun Microsystems. However, any
`other suitable processor or computer may be utilized. Video
`memory 114 is a dual-ported video random access memory.
`One port of the video memory 114 is coupled to video accel(cid:173)
`erator 116. The video accelerator device 116 is used to drive 35
`a CRT (cathode ray tube), and LCD (Liquid Crystal Display),
`or TFT (Thin-Film Transistor) monitor 117. The video accel(cid:173)
`erator 116 is well known in the art and may be implemented
`by any suitable apparatus. This circuitry converts pixel data
`stored in video memory 114 to a signal suitable for use by 40
`monitor 117. The monitor 117 is a type of monitor suitable for
`displaying graphic images.
`The computer 100 may also include a communication
`interface 120 coupled to the system bus 118. The communi(cid:173)
`cation interface 120 provides a two-way data communication 45
`coupling via a network link 121 to a network 122. For
`example, if the communication interface 120 is a modem, the
`communication interface 120 provides a data communication
`connection to a corresponding type of telephone line, which
`comprises part of a network link 121. If the communication 50
`interface 120 is a Network Interface Card (NIC), communi(cid:173)
`cation interface 120 provides a data communication connec(cid:173)
`tion via a network link 121 to a compatible network. Physical
`network links can include Ethernet, wireless, fiber optic, and
`cable television type links. In any such implementation, com- 55
`munication interface 120 sends and receives electrical, elec(cid:173)
`tromagnetic or optical signals which carry digital data
`streams representing various types of information and media
`(e.g. audio and video data).
`The network link 121 typically provides data communica(cid:173)
`tion through one or more networks to other data devices. For
`example, network link 121 may provide a connection through
`local network 122 to a host computer 123 or to data equip(cid:173)
`ment operated by an Internet Service Provider (ISP) 124. ISP
`124 in turn provides data communication services through the
`world wide packet data communication network now com(cid:173)
`monly referred to as the "Internet" 125. Hereinafter, "the
`
`6
`Internet" will be used to refer to the Internet itself as well as
`other types oflntranets, networks, distributed servers, or cli(cid:173)
`ent/server architectures.
`Local network 122 and Internet 125 both use electrical,
`electromagnetic or optical signals which carry digital data
`streams to files. The signals through the various networks and
`the signals on network link 121 and through communication
`interface 120, which carry the digital data to and from com-
`puter 100, are exemplary forms of carrier waves for transport(cid:173)
`ing the digital information.
`The computer 100 can send messages and receive data,
`including program code, through the network(s), network
`link 121, and communication interface 120. In the Internet
`example, server 126 might transmit a requested code for an
`application program through Internet 125, ISP 124, local
`network 122 and communication interface 120.
`
`The Internet/Client/Server
`Computers and computer networks are used to exchange
`information, perform transactions, and provide entertainment
`in many fields. During these events, the exchange of data
`between computers typically occurs between a "server appli(cid:173)
`cation" that provides information or services, and a "client
`application" or device that receives the provided information
`and services. Multiple server applications are sometimes
`available on a "system server" such as a single computer
`server that provides services for multiple clients. Alterna(cid:173)
`tively, distributed server systems allow a single client to
`obtain services from applications residing on multiple serv-
`30 ers. For example, in current distributed server systems, client
`applications or plug-ins are able to communicate with server
`applications executing on the same computer system or on
`another computer system accessible via a network, for
`instance via the Internet.
`The Internet is a worldwide network of interconnected
`computers. An Internet client computer accesses a computer
`on the network via an Internet provider. An Internet provider
`is an organization that provides a client (computer) with
`access to the Internet (via analog telephone line or Integrated
`Services Digital Network line, for example). A client can, for
`example, read information from, download a file from, or
`send an electronic mail message to another computer/client
`using the Internet.
`To retrieve a file or service on the Internet, a client must
`typically search for the file or service, make a connection to
`the computer on which the file or service is stored, and down(cid:173)
`load the file or access the service. Each of these steps may
`involve a separate application and access to multiple, dissimi(cid:173)
`lar computer systems (e.g. computer systems having operat(cid:173)
`ing different systems). The World Wide Web (WWW) was
`developed to provide a simpler, more uniform means for
`accessing information on the Internet.
`The components of the WWW include browser software,
`network links, servers, and WWW protocols. The browser
`software, or browser, is a tool for displaying a user-friendly
`interface (i.e., front-end) that simplifies user access to content
`(information and services) on the WWW. Browsers use stan(cid:173)
`dard WWW protocols to access content on remote computers
`60 running WWW server processes. A browser allows a user to
`communicate a request to a WWW server without having to
`use the more obscure addressing scheme of the underlying
`Internet. A browser typically provides a graphical user inter(cid:173)
`face (GUI) for displaying information and receiving input.
`65 Examples of browsers currently available include Netscape
`Navigator and Communicator, and Microsoft Internet
`Explorer.
`
`
`
`Case 4:20-cv-00432-SDJ Document 1-4 Filed 05/26/20 Page 18 of 26 PageID #: 86
`
`US 7,472,175 B2
`
`7
`8
`WWW browsers and servers communicate over network
`When a browser displays information to a user it is typi(cid:173)
`cally as pages or documents (referred to as "web pages"). The
`links using standardized messages formats called protocols.
`document encoding language used to define the format for
`The most common modem protocol is the TCP/IP (Transmis(cid:173)
`display of a Web page is called Hypertext Markup Language
`sion Control Protocol/Internet Protocol) protocol suite. The
`protocols are based on the OSI (Open Systems Interconnect)
`(HTML). A sever sends a Web page to a client in HTML
`seven-layered network communication model. WWW mes(cid:173)
`format. The browser program interprets the HTML and dis(cid:173)
`plays the Web page in a format based on the control tag
`sages are primarily encoded using Hypertext Transport Pro(cid:173)
`information in the HTML.
`tocol (HTTP). HTTP instantiates the (top) Application layer
`FIG. 2 is a block diagram of a general Internet or client/
`of the OSI model. Application layer protocols facilitate
`remote access and resource sharing and are supported by the 10
`server environment that can be used for implementing the
`reliable communications ensured by the lower layers of the
`invention, in accordance with an embodiment of the present
`invention. For example, an embodiment of the invention can
`communications model. Therefore HTTP simplifies remote
`be implemented as computer software in the form of com(cid:173)
`access and resource sharing between clients and servers while
`providing reliable messaging on the WWW.
`puter readable program code executed on a server computer
`15 such as the computer 202 illustrated in FIG. 2. Additionally,
`Information servers maintain the information on the
`in an embodiment, the system can be implemented as a com(cid:173)
`WWW and are capable of processing client requests. HTTP
`ponent of a network system such as a server computer 202
`has communication methods that allow clients to request data
`connected to the Internet 200 and accessible to client com-
`from a server and send information to the server.
`puters 203. In further embodiments, the invention can be
`To submit a request, the client browser contacts the HTTP
`implemented as is or on various other networks or network
`server and transmits the request to the HTTP server. The 20
`systems as appropriate.
`request contains the communication method requested for the
`For example, FIG. 3 is a block diagram of a method and
`transaction (e.g., GET an object from the serveror POST data
`apparatus for creating and posting media system imple(cid:173)
`to an object on the server). The HTTP server responds to the
`mented in an Internet or client/server environment, showing a
`client by sending a status of the request and the requested
`client systems, servers, a data storage medium, and their
`information. The connection is then terminated between the 25
`related connections, in accordance with an embodiment of the
`client and the HTTP server.
`present invention. In a network environment, the invention
`A client request, therefore, consists of establishing a con(cid:173)
`can be implemented as computer software in the form of
`nection between the client and the HTTP server, performing
`computer readable program code executed on a server com-
`the request, and terminating the connection. The HTTP server
`30 puter such as 302 illustrated in FIG. 3. For instance, a "plug(cid:173)
`typically does not retain any information about the request
`in" can be downloaded to a client and used to interact with a
`after the connection has been terminated. That is, a client can
`server. Examples of plug-ins comprise helper applications
`make several requests of an HTTP server, but each individual
`which are invoked by a browser to handle files of a specific
`request is treated independently of any other request.
`standard file format type, such as Multi-purpose Internet Mail
`WWW employs an addressing scheme that uniquely iden- 35
`Extensions (MIME). MIME is a developing standard (e.g.
`tifies Internet resources (e.g., HTTP server, file, or program)
`specified in RFC 1521) and MIME compliant mailers allow a
`to clients and servers. This addressing scheme is called the
`user to encode an object and specify a viewer type for that
`Uniform Resource Locator (URL). A URL represents the
`object, and then mail the object to someone who has neither
`Internet address of a resource on the WWW. The URL con-
`the proper decoder nor viewer on their own MIME-compliant
`tains information about the protocol, Internet domain name 40
`system
`and addressing port of the site on which the server is running.
`Referring to the embodiment shown in FIG. 3, the system
`It also identifies the location of the resource in the file struc-
`can be implemented as components of a network system such
`ture of the server.
`as a computer client creator user 310 coupled via network
`HTTP provides a mechanism of associating a URL address
`connections 320 to a computer data streaming server 360 and
`with active text. A browser generally displays active text as
`45 an application server 330. In turn, servers 330 and 360 are
`underlined and color-coded. When activated (by a mouse
`coupled via network connections 340 to a data storage device
`click, for example) the active text causes the browser to send
`350. In addition, user client systems 390 (e.g. users 1-3) are
`a client request for a resource to the server indicated in the
`coupled to the data streaming server 360 via network connec-
`text's associated URL address. This mechanism is called a
`tion 370.
`hyperlink. Hyperlinks provide the ability to create links 50
`Thus, for instance, client PC's 310 and 390s could be
`within a document to move directly to other information. A
`connected to the Internet 320 and 370 in order to access server
`hyperlink can request information stored on the current server
`computers 360 and 330 which in tum provide access via a
`or information from a remote server.
`local network 340 to media file storage 350. In addition, the
`If the client requests a file, the HTTP server locates the file
`system servers, 360 and 330, provide a user with access to the
`and sends it to the client. An HTTP server also has the ability 55 database of media files 350 from a multitude oflocations 390.
`Couplings, for example, via network connections 320, 340,
`to delegate work to gateway programs. The Common Gate(cid:173)
`and 370 may comprise or incorporate any web browser, such
`way Interface (CGI) specification defines a mechanism by
`which HTTP servers communicate with gateway programs. A
`as Mosaic, Netscape Navigator, or Internet Explorer. Hence,
`the system servers may be accessed through an Internet web
`gateway program is referenced using a URL. The HTTP
`server activates the program specified in the URL and uses 60
`site and the computer network may be the Internet, however,
`CG I mechanisms to pass program data sent by the client to the
`various other appropriate bases for the system (e.g. servers)
`gateway program. Data is passed from the server to the gate(cid:173)
`and computer networks may be used with the invention as
`way program via command-line arguments, standard input,
`appropriate.
`According to an embodiment for example, the system com(cid:173)
`or environment variables. The gateway program processes the
`prises a client machine 310 (a general-purpose computer, PC,
`data and returns its response to the server using CGI (via 65
`standard output, for example). The server forwards the data to
`cell phone, space shuttle etc.), a connecting apparatus allow(cid:173)
`the client using the HTTP.
`ing the client machine to communicate through communica-
`
`
`
`Case 4:20-cv-00432-SDJ Document 1-4 Filed 05/26/20 Page 19 of 26 PageID #: 87
`
`US 7,472,175 B2
`
`9
`tion means 3