`
`Application Information
`
`Application number::
`
`Not yet assigned
`
`Filing Date::
`
`Application Type::
`
`Subject Matter::
`
`Suggested classification::
`
`Suggested Group Art Unit::
`
`CD-ROM or CD-R??::
`
`Number of CD disks::
`
`Number of copies of CDs::
`
`Sequence Submission::
`
`Computer Readable Form (CRF)?::
`
`Number of copies of CRF::
`
`Title::
`
`Herewith
`
`Provisional
`
`Utility
`
`INTELLIGENT CACHE MANAGEMENT IN
`
`CONGESTED WRIELESS NETWORKS
`
`Attorney Docket Number::
`
`028482-004000US
`
`Request for Early Publication::
`
`Request for Non-Publication::
`
`Suggested Drawing Figure::
`
`Total Drawing Sheets::
`
`Small Entity?::
`
`Latin name::
`
`Variety denomination name::
`
`Petition included?::
`
`Petition Type::
`
`Licensed US Govt. Agency::
`
`Contract or Grant Numbers One::
`
`No
`
`No
`
`1
`
`4
`
`yes
`
`No
`
`Secrecy Order in Parent Appl.::
`
`No
`
`Page 1
`
`Initial 11/1/10
`
`Page 1 of 57
`
`GOOGLE EXHIBIT 1012
`
`
`
`Applicant Information
`
`Applicant Authority Type::
`
`Primary Citizenship Country::
`
`Status::
`
`Given Name::
`
`Middle Name::
`
`Family Name::
`
`Name Suffix::
`
`City of Residence::
`
`State or Province of Residence::
`
`Country of Residence::
`
`Street of Mailing Address::
`
`Inventor
`us
`Full Capacity
`
`John
`
`Haines
`
`Fremont
`
`CA
`us
`34425 Bridgewater Place
`
`City of Mailing Address::
`
`Fremont
`
`State or Province of mailing address:: CA
`
`Country of mailing address::
`
`US
`
`Postal or Zip Code of mailing address:: 94555
`
`Correspondence Information
`
`Correspondence Customer Number::
`
`20350
`
`Representative Information
`
`Representative Customer Number::
`
`20350
`
`Domestic Priority Information
`
`Application::
`
`Continuity Type::
`
`Parent Application:: Parent Filing Date::
`
`Foreign Priority Information
`
`Country::
`
`Application number::
`
`Filing Date::
`
`Page 2
`
`Initial 11/1/10
`
`Page 2 of 57
`
`
`
`Assignee Information
`
`Assignee Name::
`
`Street of mailing address::
`
`City of mailing address::
`
`State or Province of mailing address::
`
`Country of mailing address::
`
`Postal or Zip Code of mailing address::
`
`Submitted by:
`
`Signature
`
`/Alan D. Minsk/
`-------------------------------
`Printed Name
`Alan D. Minsk
`----------------------------
`
`Date November 1, 2010
`
`Registration Number
`
`35,956
`
`Page 3
`
`Initial 11/1/10
`
`Page 3 of 57
`
`
`
`Attorney Docket No.: 028482-004000
`
`PROVISIONAL PATENT APPLICATION
`
`INTELLIGENT CACHE MANAGEMENT IN CONGESTED WIRELESS NETWORKS
`
`Inventor:
`
`John Haines, a citizen of the United States of America, residing at
`
`Fremont, CA 94555
`
`Assignee:
`
`Seven Networks
`
`Entity:
`
`Small
`
`TOWNSEND and TOWNSEND and CREW LLP
`Two Embarcadero Center, Eighth Floor
`San Francisco, CA 94111-3834
`Tel: 415-576-0200
`
`1
`
`Page 4 of 57
`
`
`
`INTELLIGENT CACHE MANAGEMENT IN CONGESTED WIRELESS
`
`NETWORKS
`
`In the art today there are performance enhancing proxies and general standards for
`
`improvements of TCP performance in wired and wireless networks. Some of these techniques
`
`use clients and some are clientless. Some can look at network performance to enhance the
`
`optimization they provide. As noted, some may utilize a client and some may operate clientless.
`
`Almost all, if not all, are focused on optimization based on only a one-sided view of the
`
`networks connected to such a platform- either outbound wired, inbound/outbound wireless, or
`
`based solely on the cooperation with a client.
`
`As recognized by the inventor(s), when applications running in the background manage
`
`similar or the same content as an application running in the foreground (or in the case of
`
`programmatic updates in a user controlled foreground application-like the Yahoo! Sports
`
`scores examples- combined with the user hitting refresh), the resulting demand on a data
`
`network can produce congestion problems. As an example, a popular application such as eBay
`
`monitors for transaction changes (such as bid changes) using an programmatic process in the
`
`background and a user controlled view in the foreground which provides the user the ability to
`
`experience 'real-time' refreshes for bid changes.
`
`However, congested networks, heavily loaded content sites and anxious users can
`
`produce a slow or no-response, prompting the user to press refresh more often (e.g., the user is
`
`regularly hitting the refresh button, fetching foreground updates) adding to the congestion
`
`problems, network bandwidth consumption and further decreasing mobile device battery life.
`
`Description of One or More Embodiments of the Invention
`
`Embodiments of the present invention provide a system that optimizes multiple aspects of
`
`the connection with wired and wireless networks and devices through a complete view of activity
`
`including: loading, current application needs on a client, controlling the type of access (push vs.
`
`2
`
`Page 5 of 57
`
`
`
`pull or hybrid), location, concentration of users in a single area, time of day, how often the user
`
`interacts with the application, content or device, and using this information to shape traffic to a
`
`cooperative client/server or simultaneously mobile devices without a cooperative client. Because
`
`the inventive server is not tied to any specific network provider it has visibility into the network
`
`performance across all service providers. This enables optimizations to be applied to devices
`
`regardless of the operator or service provider, thereby enhancing the user experience and
`
`managing network utilization while roaming. Bandwidth has been considered the major issue in
`
`wireless networks today. More and more research has been done related to the need for
`
`additional bandwidth to solve access problems- many of the performance enhancing solutions
`
`and next generation standards, such as L TE and WiMAX are focused on providing increased
`
`bandwidth. However, history has shown that this simply doesn't solve all the problems. A key
`
`problem is lack of bandwidth on the signaling channel more so than the data channel.
`
`Embodiments of the present invention align requests from multiple applications to
`
`minimize the need for several polling requests; leverage specific content types to determine how
`
`to proxy/manage a connection/content; and apply specific heuristics associated with device, user
`
`behavioral patterns (how often they interact with the device/application) and network parameters.
`
`Embodiments of the present invention move recurring http polls done by various widgets,
`
`RSS readers etc. to a fixed internet (NOC), thus considerably lowering device battery/power
`
`consumption, radio channel signaling, and bandwidth usage. Additionally, embodiments ofthe
`
`present invention do this transparently so that existing applications do not need to be changed. In
`
`some embodiments, this can be done by implementing a local proxy on the device which
`
`automatically detects recurring requests for the same content (RSS feed, Widget data set) that
`
`matches a specific rule (e.g. happens every 15 minutes) and automatically caches the content on
`
`the client while delegating the polling to the server (e.g., to a proxy or virtual proxy operated as
`
`an element of a communications network). The server would then notify the mobile/client proxy
`
`if the content changes, and if content has not changed (or not changed sufficiently, or in an
`
`identified manner or amount) the mobile proxy provides the latest version in its cache to the user
`
`(without need to utilize the radio at all). This way the mobile device (e.g., a handset) does not
`
`3
`
`Page 6 of 57
`
`
`
`need to open up or use a data connection if the request is for content that is monitored and that
`
`has been not flagged as new/changed.
`
`The logic for automatically adding URLs/content to be monitored can check for various
`
`factors like how often the content is the same, how often the same request is made (is there a
`
`fixed interval/pattern?), which application is requesting the data, etc. Similar rules to skip using
`
`the cache and request the data from the original source may also be used. For example, when the
`
`request comes at an unscheduled/unexpected time (user initiated check), or after every (n)
`
`consecutive times the response has been provided from the cache, etc., or if the application is
`
`running in the background vs. in a more interactive mode of the foreground. As more and more
`
`mobile applications base their features on resources available in the network, this becomes
`
`increasingly important. Embodiments of the present invention also remove unnecessary chatter
`
`from the network, benefitting the operators trying to optimize the wireless spectrum usage.
`
`In some embodiments, the present invention includes a distributed proxy for network
`
`traffic optimization, as shown in Figure 1. The main components include a proxy client running
`
`on a device [1 05], a proxy server running in the network [1 02], and an internal protocol between
`
`the proxy client and the proxy server [109, 110]. Typically, the proxy client and proxy server
`
`would be implemented as a set of instructions executed by a (micro) processor, although other
`
`implementations are possible (firmware, etc.). The proxy client, shown in Figure 2, includes
`
`connection management functionality [206], application protocol logic modules [213], a local
`
`cache [203], and an interface to retrieve information on device properties (e.g., information on
`
`device battery level, whether the device is being actively used or not, and the registered network)
`
`[210]. The proxy server, shown in Figure 3, includes connection management functionality
`
`[302], application protocol logic modules [31 0], a connection and content metadata database
`
`[303], and a device information database [304].
`
`In general operation, the proxy client [202] is an application independent proxy that
`
`mobile applications [200] can use to open any TCP connection to any host. The proxy client will
`
`detect the type of traffic and utilize an appropriate application protocol module [213] to process
`
`the traffic. With the chosen protocol/logic module, the proxy client may process the data locally
`
`4
`
`Page 7 of 57
`
`
`
`and generate necessary talkback communication using its local cache, communicate the
`
`processed data along with device properties to the proxy server using the internal protocol [11 0],
`
`modify or delay any data before sending it to the proxy server, detect usage patterns between
`
`similar connections and provide this to the proxy server as connection metadata, or any
`
`combination ofthe above.
`
`If the proxy server is contacted regarding processing the original connection, the proxy
`
`server will utilize an appropriate application protocol module [31 0] to process the traffic. With
`
`the chosen protocol/logic module, the proxy server may contact the intended target of the
`
`connection and route the data from the proxy client to the target, generate talkback
`
`communication using its local cache, modify or delay any talkback communication data based on
`
`the device properties, and based on the connection metadata, start background processing to
`
`gather data for later use with similar connections, as well as any combination of the above.
`
`Both the proxy client and the proxy server will, where applicable continue to observe and
`
`process the data using the application protocol modules for the entire duration of the connection.
`
`After the original connection no longer exists, the proxy client and proxy server may still share
`
`information about the ceased connection and its properties for later use with similar connections.
`
`In this mode of operation, the proxy server may signal the proxy client that some data in its local
`
`cache is no longer up to date (and hence is stale), or alternatively pre-load the client cache with
`
`the fresh data. This can be done in bulk to avoid multiple radio requests, or on an application by
`
`application basis.
`
`From a mobile application's [200] point of view, the proxy is transparent and no
`
`modifications are needed in the way the application uses the connections. Proxy-aware mobile
`
`applications [212] may also be implemented, and can provide additional information about the
`
`connection characteristics to the proxy client.
`
`In some embodiments, the present invention offers benefits with respect to network
`
`usage, in that by serving requests from the local cache, the proxy client reduces the number of
`
`requests that are done over the wireless network. Further, the proxy client and the proxy server
`
`5
`
`Page 8 of 57
`
`
`
`may filter irrelevant data from the communicated data. The proxy client and the proxy server
`
`may also accumulate low priority data and send it in batches to avoid the protocol overhead of
`
`sending individual data fragments. The proxy client and the proxy server may compress or
`
`transcode the traffic, reducing the amount of data sent over a wireless network. The signaling
`
`traffic in a wireless network is reduced, as the wireless network is used less often by optimizing
`
`small bursts away and the network traffic can be synchronized among individual applications.
`
`With respect to the battery life of a mobile device, by serving requests from the local
`
`cache, the proxy client reduces the number of times the radio module is powered up. The proxy
`
`client and the proxy server may accumulate low priority data and send it in batches to reduce the
`
`number of times and/or amount of time when the radio is powered up. The proxy client may
`
`synchronize the network usage by performing the hatched data transfer for all connections
`
`simultaneously.
`
`In some embodiments, the present invention may be used in the case of home screen
`
`widget polling for data using HTTP, as shown in Figure 4. In the normal flow of operation, the
`
`widget performs a HTTP request to the data provider server [405, 406]. If the data has been
`
`updated, the widget refreshes itself. The widget waits for a small period of time and starts over at
`
`the initial step. With respect to using a distributed proxy, the widget performs a HTTP request
`
`via the proxy client [407, 408]. The proxy client detects the connection type to be a HTTP GET
`
`request. The proxy client checks the local cache for any previous information about the request.
`
`If the locally stored response is not available, the client updates all information about the
`
`request and the time it was made for later use. The client sends the request to the proxy server
`
`and the server performs the request and returns the results. The client stores information about
`
`the result and returns the result to the requestor. If the same request has occurred multiple times
`
`(within a certain time period) and it has often yielded same results, the client notifies the proxy
`
`server that the request should be monitored for result changes [409]. If the request was marked
`
`for monitoring, the client will store the results into its local cache. If the locally stored response
`
`is available, the client will return the response from the local cache without performing
`
`communication over the wireless network [ 413].
`
`6
`
`Page 9 of 57
`
`
`
`Independently of the widget or client operation, the server proxy will perform the
`
`requests marked for monitoring to see whether the response has changed [410]. Whenever an
`
`unexpected response is received for some request, the server will notify the client that the
`
`response has changed and that the locally stored response on the client should be erased or
`
`replaced with a new response [416]. A subsequent data request by the client results in the data
`
`being returned from the proxy server [ 417, 418]. A benefit of using the distributed proxy in this
`
`case is that the wireless network is only used whenever the content for the widget has actually
`
`changed; the traffic required to check for the changes is not done over the wireless network. This
`
`reduces the amount of generated network traffic and shortens the total time and the number of
`
`times the radio module is powered up on the mobile device, thus reducing battery consumption.
`
`With respect to polling for changes in a mailbox, in the normal flow of operation, the
`
`mail client opens a connection to the mail server, the mail client authenticates with the server and
`
`queries for new email, and if new mail has arrived, a notification is shown. The mail client then
`
`closes the connection. The mail client waits for a period of time and starts over. A variation is to
`
`leave the connection open and start over at the second step after a predetermined period of time.
`
`In the context of a distributed proxy, the mail client opens a connection to the mail server
`
`via the proxy client, the proxy client detects the traffic type and the chosen application logic
`
`module simulates a mail server authentication, and the proxy client looks up from the local
`
`database whether information about the particular mail connection is available. If the information
`
`is not available, the connection is routed to the proxy server, the proxy server establishes a
`
`connection to the mail server and performs authentication using the data from the mail client, the
`
`data between the mail client and the mail server is directly routed through the proxy connection,
`
`and when the mail client closes the connection, the proxy client may choose to leave the actual
`
`connection to the backend open and store information about the connection into the local
`
`database for later use if the same mail connection has been used frequently. If the information is
`
`available, the client proxy will continue to simulate mail server responses for the mail client for
`
`all queries for which it has the data available. If the mail client performs an operation that cannot
`
`be simulated by the proxy client, the proxy client will route the data to the proxy server and the
`
`7
`
`Page 10 of 57
`
`
`
`proxy server will pass the data to the mail server and route the data between the two. The proxy
`
`server may need to re-establish the connection to the mail server at this point. When the mail
`
`client closes the connection, the proxy client may choose to continue to store information about
`
`the connection for later use or it may request the proxy server to terminate the mail server
`
`connection and remove any information about the connection from the database.
`
`Independently of the mail client or the proxy client, the proxy server will query the mail
`
`server for any changes that the mail client has previously queried. If any information in the mail
`
`server has changed, the proxy server will notify the proxy client to stop simulating any responses
`
`based on locally cached data in order to let the mail client receive the changed data from the mail
`
`server.
`
`Embodiments of the present invention mitigate application protocol keep-alive traffic.
`
`Existing application protocols may provide long lived connections that allow servers to push
`
`updated data to the client without the need of the client to periodically re-establish the
`
`connection or to periodically query for changes. However, the client needs to be sure that the
`
`connection remains usable by periodically sending some data, often called a keep-alive message,
`
`to the server and making sure the server is receiving this data. While the amount of data sent for
`
`a single keep alive message is not significant and the keep-alive interval for an individual
`
`application is not too short, the cumulative effect of multiple applications performing this
`
`operation individually will amount to small pieces of data being sent very frequently. Frequently
`
`sending bursts of data in a wireless network results in high battery consumption by a mobile
`
`device due to the constant need of powering the radio module. Each burst will also require a
`
`significant amount of signaling traffic in a wireless network compared to the actual data being
`
`sent. By using the inventive distributed proxy model, the proxy client can prevent the keep-alive
`
`messages (or at least many ofthem) from being sent over the network and the proxy server can
`
`independently generate the required keep-alive messages to maintain the actual backend
`
`connection.
`
`In alternative embodiments, the proxy client can be implemented directly into the TCPIIP
`
`stack of the device operating system. The proxy client can be bundled into a wireless modem to
`
`8
`
`Page 11 of 57
`
`
`
`provide transparent use for the device operating system. The proxy client can also be bundled
`
`into a firewall or a router to provide transparent use for the device operating system.
`
`Alternative embodiments apply similar techniques for a variety of protocols including
`
`HTTP, HTTPS, IMAP, POP, SMTP and ActiveSync. Use of application specific protocol
`
`handlers allows for optimization of any protocol that can be port mapped to a hander in the
`
`distributed proxy.
`
`INTELLIGENT CACHE MANAGEMENT IN CONGESTED WIRELESS NETWORKS
`
`As recognized by the inventor(s), by detecting the rate and shape of requests to the same
`
`URI (or another source of data), combined with the current state of the mobile device (e.g.,
`
`whether the backlight is on or off), the described virtual proxy can determine the difference
`
`between content that is programmatically refreshed and content that is requested by the user in
`
`the foreground. Using this information, along with the current network conditions such as the
`
`TCP connection delay and/or RTT, current radio coverage statistics, the virtual proxy can decide
`
`if and when to cache content locally. If content is already cached, then the cached version is
`
`presented to the user. If not, the request is passed through and the resultant content is presented.
`
`To ensure the user experience is not negatively impacted, the system can consider the
`
`"criticality of an application" as a factor. For example, financial applications may be considered
`
`critical so that they are always fetched and current data are always presented. An application, by
`
`name or type, can be considered critical at the time of provisioning. That is, the sever-side
`
`component of the virtual proxy can be provisioned with "profiles" which specify the criticality of
`
`the application. This profile is communicated to the device side of the virtual proxy during
`
`initialization or subsequent establishment of polling requests.
`
`A set of basic criteria (along with profile information) are applied to each URI to
`
`determine the suitability of related content for caching (size, etc.). The profile is also used to
`
`identify applications for which caching will typically not be appropriate, such as the Google
`
`Market. Additionally, the periodicity of each request as identified by a specific URI is
`
`9
`
`Page 12 of 57
`
`
`
`monitored by the proxy such that polling behavior can be detected, and the content cached as
`
`appropriate.
`
`When a URI has been identified as suitable for caching, a message is transmitted to the
`
`server component requesting that that the content associated with the URI be monitored for ·
`
`changes. When the server detects that the content has been altered, the server transmits a
`
`message to the device side proxy instructing it to invalidate whatever cache elements are
`
`associated with that URI.
`
`Typically, disk usage parameters as described by the carrier configuration are respected.
`
`As such, the client-side Proxy will usually not use more than the specified percentage of
`
`available disk space for cache entries. In addition to total disk usage, the client-side proxy also
`
`imposes a configurable limit on the total number of cache entries.
`
`Cache entries are aged out automatically by the client-side proxy as determined by
`
`configurable parameters. Additionally, cache elements may be removed to remain in compliance
`
`with disk usage or entry count restrictions.
`
`The client-side proxy will invalidate the entire cache should the server-side component
`
`become unavailable. The client-side proxy may encrypt cached textual content. Binary content
`
`(images etc.) is typically not encrypted.
`
`10
`
`Page 13 of 57
`
`
`
`INTELLIGENT CACHE MANAGEMENT IN CONGESTED WIRELESS NETWORKS
`
`What is claimed is:
`
`1.
`
`A method of determining whether to cache data in a client device, comprising:
`
`determining that the client device has made a request for data from a data source
`
`over a communications network;
`
`determining whether the client device is in an active state or an idle state;
`
`accessing a profile for the application requesting the data from the data source;
`
`determining one or more current operational characteristics of the network; and
`
`based on the client device state, application profile, and current operational
`
`characteristics of the network, determining whether to cache a set of data in the client device.
`
`11
`
`Page 14 of 57
`
`
`
`Internet [100J
`
`[106)
`
`Caching "Neb
`Proxy [101]
`
`[108)
`
`SEVEN
`Network Harmonizer
`Server [102]
`
`[106~
`
`[110]
`
`SMSC [103]
`
`~109]
`
`Mobile Clients - ~
`[105]
`
`I
`
`I
`F i;gure 1 SEVEN N etv1ork Harm oniz.er System Architecture
`
`12
`
`Page 15 of 57
`
`
`
`Proxy-Una\vare
`M'obile
`.Appl icatioo
`[200]
`
`PrOX'lj-Awa re Mobile,
`Application:
`[212]
`.,..
`
`I Cl ient~Stde· Prary API [201]
`
`Cl ient-Sk11: Prmcy [202]
`
`J
`
`Caching
`Policy
`[204]
`
`App.
`Protocols:
`[213]
`
`. -
`
`.......
`""""'
`
`"
`
`""-. ..
`Cache
`[203]
`
`Traffic
`Shaping
`[205:]
`
`e.onnection
`Management
`[206]
`
`Device Conte!! API
`[210]
`
`... - - ,,.i;i,i'
`
`Device Operating System
`[2.11]
`
`SMSI/F
`[207]
`
`WiFii/F
`[200]
`
`3G/4G 1/F
`[209]
`
`F igu re2 SEVEN N etv~ork Harmonizer Client Arch it:ecture
`
`13
`
`Page 16 of 57
`
`
`
`Proxy Control
`Protocol
`[306]
`
`Hybrid C.ontrol
`Protocol
`[30&)
`
`Control
`Protocol
`[307)
`
`SMSControl
`Protocol
`[305]
`
`Traffic Sh,a ping
`[301]
`
`Connection
`Management
`[302]
`
`Web
`Access
`[309]
`
`Caching
`Policy[3~
`
`Application
`Protocols
`[310]
`
`I
`
`Connection and
`Conte·nt Metadata
`DB [303]
`
`Device Information
`DB [304]
`
`Figure g, SEVEN Network H arm·oniler Server Architecture
`
`14
`
`Page 17 of 57
`
`
`
`I Hom.,scr.,en
`
`Widget [400]
`
`I
`
`i
`
`Client-Side I
`I Proxy [401]
`
`I Caching Web I
`Proxy [402]
`
`I Traffic Harmonizer
`
`Server[403]
`
`1
`
`I Data Provider Server 1
`!404J
`
`/
`
`1...-
`I'
`
`Data Request [405]
`
`Data Response [406]
`
`Proxied Data Request [4{)71
`
`,,
`roxied Data Response [4 ~~
`
`.
`
`Mo nltor Data Request [409J
`
`Proxled Data Request~ '2]
`
`L Requ.,st Satisfied From oca! Cache [413]
`'
`
`'
`Invalidate Notificatro !416j
`
`Proxied Data Request ~ 17]
`
`" Request Satisfied From Caching Web Proxy t418]
`"
`
`Monitor Data [410]
`
`Same Response [411]
`
`I
`
`Monitor Data [414j
`
`Changed Res pons" [415!
`
`1..-
`I'
`
`I'
`
`Figure 4 SEVEN Network Harmonizer Distributed Proxy Polling
`
`Page 18 of 57
`
`
`
`Electronic Patent Application Fee Transmittal
`
`Application Number:
`
`Filing Date:
`
`Title of Invention:
`
`INTELLIGENT CACHE MANAGEMENT IN CONGESTED WIRELESS NETWORKS
`
`First Named Inventor/Applicant Name:
`
`John Haines
`
`Filer:
`
`Alan D. Minsk/Stacy Villa rose
`
`Attorney Docket Number:
`
`028482-004000US
`
`Filed as Small Entity
`
`Provisional Filing Fees
`
`Description
`
`Fee Code
`
`Quantity
`
`Amount
`
`Sub-Total in
`USD($)
`
`Provisional Application filing fee
`
`2005
`
`1
`
`110
`
`110
`
`Basic Filing:
`
`Pages:
`
`Claims:
`
`Miscellaneous-Filing:
`
`Petition:
`
`Patent-Appeals-and-Interference:
`
`Post-Allowance-and-Post-Issuance:
`
`Extension-of-Time:
`
`Page 19 of 57
`
`
`
`Description
`
`Fee Code
`
`Quantity
`
`Amount
`
`Sub-Total in
`USD($)
`
`Miscellaneous:
`
`Total in USD ($)
`
`110
`
`Page 20 of 57
`
`
`
`Electronic Acknowledgement Receipt
`
`EFSID:
`
`Application Number:
`
`8743922
`
`61408846
`
`International Application Number:
`
`Confirmation Number:
`
`1707
`
`Title of Invention:
`
`INTELLIGENT CACHE MANAGEMENT IN CONGESTED WIRELESS NETWORKS
`
`First Named Inventor/Applicant Name:
`
`John Haines
`
`Customer Number:
`
`20350
`
`Filer:
`
`Alan D. Minsk/Stacy Villa rose
`
`Filer Authorized By:
`
`Alan D. Minsk
`
`Attorney Docket Number:
`
`028482-004000US
`
`Receipt Date:
`
`01-NOV-201 0
`
`Filing Date:
`
`TimeStamp:
`
`Application Type:
`
`Payment information:
`
`Submitted with Payment
`
`Payment Type
`
`Payment was successfully received in RAM
`
`RAM confirmation Number
`
`Deposit Account
`
`Authorized User
`
`16:11:52
`
`Provisional
`
`yes
`
`Deposit Account
`
`$110
`
`2410
`
`201430
`
`The Director of the USPTO is hereby authorized to charge indicated fees and credit any overpayment as follows:
`
`Charge any Additional Fees required under 37 C.F.R. Section 1.16 (National application filing, search, and examination fees)
`
`Charge any Additional Fees required under 37 C.F.R. Section 1.17 (Patent application and reexamination processing fees)
`
`Page 21 of 57
`
`
`
`Charge any Additional Fees required under 37 C.F.R. Section 1.19 (Document supply fees)
`
`Charge any Additional Fees required under 37 C.F.R. Section 1.20 (Post Issuance fees)
`
`Charge any Additional Fees required under 37 C.F.R. Section 1.21 (Miscellaneous fees and charges)
`
`File Listing:
`
`Document
`Number
`
`1
`
`Warnings:
`
`Information:
`
`Document Description
`
`File Name
`
`File Size( Bytes)/
`Message Digest
`
`Multi
`Part /.zip
`
`Pages
`(ifappl.)
`
`2010_11_01 1 O_FWR_ADS_AP
`-
`PLN_FIGS_028482-004000US.
`
`696191
`
`4b11e38248bc35471 eb808e52f0fdc5a594
`31c7c
`
`yes
`
`18
`
`Multipart Description/PDF files in .zip description
`
`Document Description
`
`Start
`
`End
`
`Application Data Sheet
`
`Specification
`
`Claims
`
`Drawings-only black and white line drawings
`
`3
`
`13
`
`14
`
`18
`
`1
`
`4
`
`14
`
`15
`
`29634
`
`2
`
`Fee Worksheet (PT0-875)
`
`fee-info. pdf
`
`no
`
`2
`
`c3c6bb92553066d814 761 bceebc7 c52aaeb
`1607c
`
`Warnings:
`
`Information:
`
`Total Files Size (in bytes)
`
`725825
`
`This Acknowledgement Receipt evidences receipt on the noted date by the USPTO of the indicated documents,
`characterized by the applicant, and including page counts, where applicable. It serves as evidence of receipt similar to a
`Post Card, as described in MPEP 503.
`
`New A~~lications Under 35 U.S.C. 111
`If a new application is being filed and the application includes the necessary components for a filing date (see 37 CFR
`1.53(b)-(d) and MPEP 506), a Filing Receipt (37 CFR 1.54) will be issued in due course and the date shown on this
`Acknowledgement Receipt will establish the filing date of the application.
`
`National Stage of an International A~~lication under 35 U.S.C. 371
`If a timely submission to enter the national stage of an international application is compliant with the conditions of 35
`U.S.C. 371 and other applicable requirements a Form PCT/DO/E0/903 indicating acceptance of the application as a
`national stage submission under 35 U.S.C. 371 will be issued in addition to the Filing Receipt, in due course.
`
`New International A~~lication Filed with the USPTO as a Receiving Office
`If a new international application is being filed and the international application includes the necessary components for
`an international filing date (see PCT Article 11 and MPEP 181 0), a Notification of the International Application Number
`and of the International Filing Date (Form PCT/R0/1 OS) will be issued in due course, subject to prescriptions concerning
`national security, and the date shown on this Acknowledgement Receipt will establish the international filing date of
`the application.
`
`Page 22 of 57
`
`
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`Ul\TfED S'fi\TES DEPA RTME'I'f OF COMMERCE
`United States Patent and Trademark Office
`Adill"'· COMMISSIO'JER FOR PATENTS
`PO Box 1450
`Alexandria, Virgmia 22313-1450
`\VVi\V.USpto.gov
`
`APPLICATION
`NUMBER
`61/408,846
`
`FILING or
`37l(c)DATE
`11/01/2010
`
`FIL FEE REC'D
`110
`
`ATTY.DOCKET.NO
`028482-004000US
`
`20350
`TOWNSEND AND TOWNSEND AND CREW, LLP
`TWO EMBARCADERO CENTER
`EIGHTH FLOOR
`SAN FRANCISCO, CA 94111-3834
`
`CONFIRMATION NO. 1707
`FILING RECEIPT
`
`111111111111111111111111]~!1]~~~~~~~~~1~1111i~U1111111111111111111111111
`
`Date Mailed: 11 /09/20 1 0
`
`Receipt is acknowledged of this provisional patent application. It will not be examined for patentability and will
`become abandoned not later than twelve months after its filing date. Any correspondence concerning the application
`must include the following identification information: the U.S. APPLICATION NUMBER, FILING DATE, NAME OF
`APPLICANT, and TITLE OF INVENTION. Fees transmitted by check or draft are subject to collection. Please verify
`the accuracy of the data presented on this receipt. If an error is noted on this Filing Receipt, please submit
`a written request for a Filing Receipt Correction. Please provide a copy of this Filing Receipt with the
`changes noted thereon. If you received a "Notice to File Missing Parts" for this application, please submit
`