`asc
`
`PROVISIONAL APPLICATION COVER SHEET
`
`‘ES3s arequestforfiling aPROVISIONAL APPLICATIONFOR PATENT under 37 CFR 1.53(c)(2).
`
`
`
`
`LAST NAME
`
`FIRST NAME
`
`
`
`Docket Number
`
`3997-17PROV
`
`Type a plus sign (+)
`inside this box -
`
`
`
`.
`
`:
`
`+
`
`
`
`
`
`San Francisco, CA 94108
`
`INVENTOR(s)/APPLICANT(s)
`MIDDLE INITIAL
`RESIDENCE(CITY AND EITHER STATE OR FOREIGN COUNTRY)
`Slemmer
`Michael
`Ww.
`1146 Taylor St., #11
`2a
` TITLE OF THE INVENTION(280 characters max)
`
`
`
`Sheridan Ross P.C.
`1700 Lincoln Street, Suite 3500
`Denver
`
`
`
`counrey
`
`
`
`x
`
`
`
`A check or money order is enclosed to cover thefiling fees
`$150.00
`PROVISIONAL
`FILING FEE
`
`
`The Commissioner is hereby authorized to chargefiling fees
`AMOUNT ($)
`
`and credit Deposit Account Number:
`
`The invention was made by an agency ofthe United States Government or under a contract with an agency ofthe United States Government.
`
` Thomas D.Franklin, Esq.
`
`
`
`
`
`
`umberofPageSS
`Speciation
`
`
`
`5Lax|prawns nunberpsees|i | ovetpeiy [oO
`
`
`R
`
`Registration No. P-43,616
`SHERIDAN ROSSP.C.
`1700 Lincoln Street, Suite 3500
`incol
`.
`Denver, Colorado 80203-4501
`Phone: (303) 863-9700
`Fax: (303) 863-0223
`Date:
`
`"EXPRESS MAIL” MAILING LABEL NUMBER: EM 552805458 US
`DATE OF DEPOSIT: November 25, 1998
`| HEREBY CERTIFY THAT THIS PAPER OR FEE IS BEING DEPOSITED
`OFFICE TO ADDRESSEE" SERVICE UNDER37 CFR 1.10 ON THE DATE
`WITH THE UNITED STATES POSTAL SERVICE "EXPRESS MAIL POST
`COMMISSIONER FORPATENTS,WASHINGTON,D.C.20231.
`INDICATED ABOVE AND IS ADDRESSED TO THE ASSISTANT
`
`N oD Ab
`
`EXHIBIT 1007
`Guest-Tek v. Nomadix, IPR2018-00376
`
`EXHIBIT 1007
`Guest-Tek v. Nomadix, IPR2018-00376
`
`
`
`CONTROLLED COMMUNICATIONS OVER A
`GLOBAL COMPUTER NETWORK
`
`DETAILED DESCRIPTION
`
`A system and methods of operation are described in which
`
`predetermined controls are exercised over
`
`a users ability to
`
`communicate and obtain information over a global computer network,
`
`such as
`
`the Internet.
`
`Generally,
`
`the system and methods of
`
`operation function to control
`
`information received by a user
`
`machine such that information is returned to the user machine which
`
`was not requested by it. More particularly,
`
`a user machine may
`
`request a particular web page or set of web pages using a browser,
`
`which pages are available on the world wide web accessible using
`
`the Internet.
`
`The present invention, depending on predetermined
`
`conditions, may cause information to be viewed on the user machine
`
`that was obtained from a different address on the global computer
`network,
`such as
`a different web site.
`A web site,
`such as
`"www.abc.com", may be input into the browser on the user machine.
`
`However,
`
`instead of accessing this web site,
`
`the system would cause
`
`the user machine browser
`
`to actually display pages, HTML text
`
`and/or images from a different source, such as a different address
`
`on the web.
`
`The
`
`system also provides selective "sandboxing"
`
`in which
`
`certain web sites are directly accessible by the browser of the
`
`user machine while other web sites that are requested for access
`
`
`
`
`
`will result in triggering the controls implemented by the present
`
`invention, such as re-directing the request
`
`to another web site.
`
`In that regard,
`
`the user machine might receive as an input into its
`
`browser
`
`the name
`
`"www.xyz.com", which has
`
`a corresponding web
`
`address, and browse that site with no interference.
`
`On the other
`
`hand, when the user machine receives an input related to another
`
`web site address or selection of a link that would take the user
`
`machine outside of the "www.xyz.com" site,
`
`the user machine would
`
`again be subject to the controls of the present invention (forced
`
`proxying).
`
`With reference to the sole Figure,
`
`the system 10 includes one
`
`or more of a number of user or client machines 20.
`
`Each of the
`
`client machines
`
`20
`
`typically incudes at
`
`least
`
`one
`
`computer
`
`processor, a monitor having a display screen, storage memory, such
`
`as a hard drive and/or semi-conductor memory, and input devices,
`
`such as
`
`a keyboard and a mouse.
`
`The user machine also has
`
`necessary or appropriate software
`
`including operating system
`
`software and a commercially available web browser.
`
`The system 10
`
`also includes a server 30 in communication with each of the one or
`
`more user machines 10.
`
`The server 30 can handle all signal traffic
`
`to/from each of
`
`the user machines 20.
`
`On
`
`the output side or
`
`port(s) of the server 30 is an interface or connector hardware that
`
`enables the server 30 to communicate with the Internet 40.
`
`In that
`
`regard,
`
`the server 30 essentially acts as a proxy for Internet
`
`
`
`
`
`communications with each of the user machines 20.
`
`With regard to communications from the user machines 20 to the
`
`Internet 40, messages are sent
`
`to the Internet 40 by the user
`
`machines 20 by means of encapsulated parcels of data identified as
`
`“datagrams or packets".
`
`Each such packet must pass through the
`
`proxy server
`
`30
`
`to access
`
`the Internet 40.
`
`In controlling
`
`communications,
`
`the system 10, particularly the server 30,
`
`is
`
`interested only in TCP
`
`(Transmission Control Protocol) packets,
`
`which are used to carry essentially all web traffic.
`
`Each TCP
`
`packet contains
`
`the following fields or
`
`integers:
`
`source IP
`
`(Internet Protocol)
`
`address;
`
`source TCP port; destination IP
`
`address; and destination TCP port.
`
`Requests to the world wide web from the user machines 20 are
`
`unique in that their destination TCP port is set to 80. When a
`
`packet
`is transmitted from a user machine 20,
`a
`transparent
`proxying software module in the server 30 makes a determination
`regarding whether or not the transmitted information relates to a
`
`web request.
`
`In that
`
`regard,
`
`the server 30 analyzes at
`
`least
`
`portions of each packet.
`
`If a packet TCP port is identified as 80,
`
`that packet
`
`is intercepted by the transparent proxying software
`
`module and redirected to a different TCP port on the server 30.
`
`A
`
`software
`
`control
`
`program running
`
`on
`
`the
`
`server
`
`30
`
`is
`
`communication with that
`
`software port
`
`to which the packet
`
`in
`
`is
`
`redirected.
`
`This software port responds to requests as if they
`
`
`
`
`
`were the web server on the Internet 40. This proxy server program
`
`or control program assumes control of the web request by fulfilling
`
`the actual request from the user machine 20 or implementing other
`
`predetermined steps.
`
`Such other predetermined steps relate to
`
`providing information to the user machine 20 from one or more
`
`particular web pages of a web site different from the user machine
`
`20 requested site.
`
`The identification of
`
`the web pages to be
`
`directed to the particular user machine can be based on a number of
`
`factors including:
`
`the input to the user machine 20 by the user or
`
`operator of that machine and provided to the browser on the user
`
`machine 20;
`
`the Internet or MAC
`
`address associated with the
`
`particular user machine 20; and other factors such as whether or
`
`not the Internet is accessible to the particular user machine 20.
`
`The
`
`server
`
`30
`
`also has
`
`the
`
`capability of deactivating or
`
`essentially bypassing such controls in the sense of allowing a
`particular user machine 20 to freely access the Internet 40 as if
`
`the proxy server 30 were not interposed between the particular user
`
`machine 20 and the Internet 40.
`
`With respect to examples of control steps or algorithms,
`
`the
`
`software control program to which the web request is transferred
`
`for control purposes can include the following controls when it
`
`receives a web request:
`
`The user machine 20 is caused to receive a
`
`returned HTTP
`
`redirect message. This is a special command that directs the web
`
`
`
`
`
`browser of the user machine 20 to "jump to" or be provided with
`
`information from another web site location, without any display or
`
`other indication of this web site change to the particular user
`
`machine 20.
`
`For example, a user machine 20 receiving a request to
`
`its browser in the form of www.abc.com could be directed by the
`
`control program in the proxy server 30 to access www.xyz.com as the
`
`web site address to be displayed or from which information is to be
`
`obtained.
`
`Alternatively,
`
`the control program could return a web page to
`
`the user machine 20 based on a path that
`
`the user machine 20
`
`selected.
`
`For example,
`
`if an input were received by the user
`
`machine 20 in the form of the web site address www.abc.com/index or
`
`www.def.com/index,
`
`the proxy server 30, by means of the software
`
`module that determines that this is a TCP packet and also by means
`
`of the software control program, could instead access and fetch one
`or more web pages from the web site address www.xyz.com/index.
`Similarly, an input
`to the particular user machine 20 in form of
`
`www.abc.com/xxx, could result
`
`in the proxy server 30 obtaining
`
`www.xyz.com/xxx.
`
`In this way,
`
`the particular user machine 10 will
`
`always be forced to receive return information from the www.xyz.com
`
`web site. Except for the results that the "location" in the web
`
`browser will read something different, because it is reading from
`
`www.xXyz.com and not www.abc.com/xxx,
`
`it will appear to the user
`
`machine 20 that it is executing properly.
`
`
`
`
`
`Alternatively,
`
`the proxy server 30 could return to the user
`
`machine 20 the actual web page that the user machine 20 requested.
`
`In this case,
`
`the control program acts like a normal proxy server
`
`by connecting to the Internet 40 and fetching the requested page or
`
`pages.
`
`This functionality can be identified as "sandboxing" by
`
`which requests to certain one or more locations on the web are
`
`allowed or granted without modification, while others are not.
`
`For
`
`instance,
`
`connections to www.xyz.com could be proxied in this
`
`manner, while other requests my generate a set of pages from a web
`
`site different from the requested web site.
`
`Alternatively,
`
`the control program could return web page(s)
`
`based on particularly identified information about the user machine
`
`20,
`
`The proxy server 30 may rely on the IP address that it
`
`receives to provide a response based thereon. Other information
`
`the user machine 20 might also be utilized in customizing a
`about
`response to a web request from that user machine 20.
`
`With respect to describing in greater detail the methodology
`
`and operations of the present invention,
`
`two examples are provided:
`
`Example 1 - Log in to a network different from that to which the
`
`user machine is normally configured, such as logging in at a hotel.
`
`A user plugs in his laptop and runs his browser.
`
`The user's
`
`default web page is http:/home.browserid.com/Index.htm.
`
`The user's
`
`laptop (user machine
`
`20)
`
`attempts
`
`to connect
`
`to port
`
`80 of
`
`
`
`
`
`home.browserid.com.
`
`The server 30 redirects this request
`
`to the
`
`forced proxying or control program.
`
`The control program determines
`
`that this is the first time its seen this user machine 20.
`
`It
`
`returns an HTTP redirect message sending the user machine 20 to
`
`http:/www.login.com.
`
`The user's laptop receives this message and
`
`now tries to fetch http:/wwwlogin.com.
`
`It attempts to connect to
`
`port 80 of www.login.com.
`
`The server 30 redirects this request to
`
`the
`
`control
`
`program.
`
`The
`
`control
`
`program recognizes
`
`“www.login.com". When it receives requests to www.login.com it
`
`knows to respond with a set of pages stored at an offsite server
`
`www.connectgroup.com.
`
`It connects to that server and fetches the
`
`home
`
`page
`
`from
`
`that
`
`offsite
`
`server,
`
`namely,
`
`http: /www.connectgroup.com.
`
`It
`
`returns this page to the user
`
`machine 20. Because the page contains two images,
`
`imagel.gif and
`
`image2.gif,
`the user machine
`browser makes
`two
`additional
`connections to port 80 on www.login.com, once for each image.
`The
`server 30 redirects these requests to the control program.
`The
`
`control program recognizes www.login.com again.
`
`It also sees that
`
`the user machine
`
`20
`
`is
`
`trying to access
`
`/imagel.gif
`
`and
`
`/image2.gif,
`
`respectively, on that server.
`
`It connects to the
`
`offsite server and fetches http: /www.connectgroup.com/imagel.gif
`
`and http: /www.connectgroup.com/image2.gif.
`
`It returns these images
`
`to the particular user machine 20.
`
`The user views this page and
`
`clicks on one of the links on the page, which directs the user to
`
`
`
`
`
`http: /www.login.com/page2.html.
`
`The
`
`server
`
`30
`
`redirects this
`
`request
`
`to the control program.
`
`The control program recognizes
`
`www.login.com again.
`
`It also sees that
`
`the user machine 20 is
`
`trying to access /page2.html on that server.
`
`It connects to the
`
`offsite server and fetches http:/www.connectgroup.com/ page2.html.
`
`It returns this page to the particular user machine 20.
`
`The user
`
`sees on the monitor of the user machine 20 that this page contains
`
`a "login" button.
`
`The user selects or clicks it. This action or
`
`selection
`
`causes
`
`the
`
`user
`
`machine
`
`20
`
`to
`
`access
`
`http:/www.login.com/login.
`
`The server 30 software module redirects
`
`this request to the server control program.
`
`The control or forced
`
`proxying program recognizes www.login.com and also the page being
`
`accessed as /login.
`
`The program realizes that this user machine 20
`
`is trying to log in.
`
`The program returns to the user machine 20 a
`
`web page containing a redirect command. This page will cause the
`
`user machine 20 to jump to http:/www.lodgenet.com in five seconds,
`
`which is enough time for the control program to disable forced
`
`proxying for
`
`this user.
`
`The control program disables forced
`
`proxying for this user machine IP address.
`
`The user machine 20
`
`displays a "logging you in..." message for five seconds and then
`
`the http://www.lodgenet.com home page is displayed.
`
`The operator
`
`of
`
`this user machine
`
`20
`
`can then begin to use the Internet
`
`normally.
`
`
`
`
`
`Example 2 - ISP advertising banner
`
`A user plugs in the modem of the user machine 20 and dials to
`
`the user’s ISP.
`
`The user then launches the web browser of the
`
`particular user machine 20.
`
`The user inputs http:/quote.xyz.com to
`
`access and check his stocks.
`
`This user machine 20 attempts to
`
`connect to port 80 of quote.xyz.com.
`
`The server 30 redirects this
`
`request to the control program.
`
`The control program responds with
`
`HTTP
`
`redirect
`
`command, which
`
`sends
`
`the user machine
`
`20
`
`to
`
`http:/www.community.com,
`
`the ISP's
`
`community page.
`
`The user
`
`machine
`
`20
`
`receives
`
`this message
`
`and
`
`attempts
`
`to
`
`fetch
`
`http: /www.community.com.
`
`It attempts to connect
`
`to port 80 of
`
`www.community.com.
`
`The server 30 redirects this request
`
`to the
`
`forced proxying program.
`
`The forced proxying program recognizes
`
`http:/www.community.com as
`
`a
`
`sandboxed
`
`domain.
`
`It
`
`fetches
`
`http: /www.community.com and returns this page to the user machine
`
`20. This page includes a selector element or button which allows
`
`the user machine 20 to access the site it initially sought was,
`
`in
`
`this
`
`case http:/quote.xyz.com.
`
`The
`
`server
`
`30 places
`
`the
`
`appropriate code in the web page to make this button work properly.
`
`The user machine browser redirects this request
`
`to the control
`
`program.
`
`The control program recognizes http:/www.flycast.com as
`
`another
`
`sandboxed
`
`domain.
`
`It
`
`fetches
`
`http: /www.flycast.com/Imagel.gif and returns it to the user machine
`
`20.
`
`The user machine browser displays the advertising banner on
`
`
`
`
`
`the display screen of
`
`the monitor.
`
`The user
`
`views
`
`this
`
`advertisement, but wants to check stock quotes.
`
`He clicks on the
`
`button which takes him to http:/quote.xyz.com. The
`
`server
`
`30
`
`redirects this request to the control program.
`
`The control program
`
`remembers
`
`that http:/quote.xyz.com was
`
`the site that
`
`the user
`
`initially wanted to access.
`
`It returns to the user machine 20 a
`
`"logging you in..." page with a redirect which will
`
`take him to
`
`http:/quote.xyz.com in five seconds.
`
`The program then disables
`
`forced proxying for this user machine 20.
`
`In five seconds,
`
`the
`
`user machine
`
`browser
`
`fetches
`
`the
`
`web
`
`page
`
`stored
`
`at
`
`http:/quote.xyz.com.
`
`The user machine 20 can now use the Internet
`
`normally.
`
`
`
`10
`
`
`
`What is claimed is:
`
`1.
`
`A method related to controlling communication of
`
`a
`
`message from a user machine, comprising:
`
`sending a message from a user machine to a proxy server,
`
`said first message including at least a first data packet having a
`
`number of
`
`fields including a first
`
`field related to a first
`
`destination address;
`
`receiving said message by said proxy server;
`
`controlling said message by said proxy server including
`
`changing said first destination address to a source different from
`
`said first destination address; and
`
`receiving returned information by said user machine
`
`related to said source.
`
`2.
`
`A method, as claimed in claim 1, wherein
`
`said first destination address is an address associated
`
`with a site on a global computer network and said source has a
`
`second destination address on the global computer network.
`
`3.
`
`A method, as claimed in claim 2, wherein:
`
`said first destination address is directly accessible by
`
`said user machine in the absence of said proxy server using said
`
`global computer network.
`
`11
`
`
`
`
`
`4.
`
`A method, as claimed in claim 1, wherein:
`
`said controlling step includes transferring said message
`
`from a first port of said proxy server when said proxy server
`
`ascertains that said message
`
`is to be
`
`sent using the global
`
`computer network.
`
`om
`
`A method, as claimed in claim 4, wherein:
`
`said changing step includes using a control program of
`
`said proxy server that is accessible from a second port of said
`
`proxy server, said proxy server control program having executable
`
`code used in determining an identity of said source.
`
`6.
`
`A method, as claimed in claim 1, wherein:
`
`said controlling step includes transmitting destination
`
`information based on said source from a second port of said proxy
`
`server to a first port thereof.
`
`7.
`
`A method, as claimed in claim 1, wherein:
`
`said receiving step includes receiving said message at a
`
`first predetermined port of said proxy server.
`
`8.
`
`A method, as claimed in claim 1, wherein:
`
`Said returned information includes at least one of the
`
`following:
`
`logging in information and advertising information
`
`12
`
`
`
`
`
`
`
`
`9,
`
`A method, as claimed in claim 1, wherein:
`
`said receiving step includes making available an option
`
`that enables said user machine to link to said first destination
`
`address.
`
`10.
`
`A method, as claimed in claim 9, wherein:
`
`said receiving step includes selecting at said user
`
`Machine said first destination address.
`
`11.
`
`A method, as claimed in claim 5, wherein:
`
`Said receiving step includes causing said proxy server
`
`control program to allow said user machine to directly access
`
`destination addresses of
`
`the global computer network and avoid
`
`changing to another address.
`
`12.
`
`A system for controlling message transmissions relative
`
`to a global computer network, comprising:
`
`a user machine;
`
`a proxy server
`
`including a first port
`
`for
`
`receiving
`
`messages from said user machine; and
`
`a
`
`communications
`
`network
`
`interconnecting said user
`
`machine and said proxy server;
`
`wherein said proxy server
`
`receives at
`
`last
`
`a first
`
`13
`
`
`
`message from said user machine, said first message including at
`
`least a first data packet having a number of fields including a
`
`first field related to a first destination address, with said first
`
`destination address being associated with a site on the global
`
`computer network, said proxy server ascertaining whether said first
`
`message is directed to the global computer network, said message
`
`being sent by said proxy server to a proxy server control program
`
`when said message is directed to the global computer network, said
`
`proxy server control program determining whether said message is to
`
`be permitted to be sent to said first destination address.
`
`13.
`
`A system, as claimed in claim 1, wherein:
`
`said proxy server determines whether said message is to
`
`be permitted to be sent to said first destination address using a
`
`number of parameters
`
`including at
`
`least one of:
`
`information
`
`received from said user machine; an address associated with said
`
`user machine;
`
`an identification of a user of said user machine; a
`
`destination address of said message; and whether said user machine
`
`or
`
`the user thereof has unregulated access to addresses on the
`
`global computer network.
`
`14.
`
`A system, as claimed in claim 12, wherein:
`
`said first packet
`
`has
`
`a
`
`second
`
`field related to
`
`identifying a TCP port.
`
`14
`
`
`
`
`
`15.
`
`A system, as claimed in claim 12, wherein:
`
`said proxy server returns to said user machine a HTTP
`
`redirect message in which said user machine is directed to access
`
`a source on the global computer network different from said first
`
`destination address.
`
`16.
`
`A system, as claimed in claim 12, wherein:
`
`said proxy
`
`server
`
`returns
`
`to
`
`said user machine
`
`information from a source having an identity determined using
`
`information related to said user machine.
`
`17.
`
`A system, as claimed in claim 12, wherein:
`
`said proxy server
`
`returns
`
`information to said user
`
`machine from a source different from said destination address and
`
`in which said information is related to information available at
`
`said first destination address.
`
`18.
`
`A system, as claimed in claim 12, wherein:
`
`said proxy server
`
`returns
`
`information to said user
`
`machine from a source different from said first destination address
`
`unless said first destination address is a predetermined address.
`
`
`
`15
`
`
`
`19.
`
`A system, as claimed in claim 12, wherein:
`
`said proxy server includes a second port in communication
`
`with said proxy server control program and to which at
`
`least
`
`portions of said first message are sent when said first message is
`
`directed to the global computer network.
`
`M: \3997\-17 PROV\ PROVPAT. APP
`
`
`
`16
`
`
`
`USER
`
`LAACHE
`
` 20(Oa
`
`FIGURE
`
`TELIVTERKWET
`
`“EEEileashyMeaseyatvist
`
`
`
`
`United States Patent & Trademark Office
`Office ofInitial Patent Examination -- Scanning Division
`
`
`
`a
`
`
`Application deficiencies were found during scanning:
`O Page(s)
`of
`{ Jeelarabion
`for scanning.
`(Documenttitle)
`
`were not present
`
`O Page(s)
`for scanning.
`
`of
`
`(Documenttitle)
`
`were not present
`
`[) Scanned copyis bestavailable.
`
`