Manage data transfer over network connections

The bandwidth management system requests synthetic representation to replace the original media content when the network connection is limited, which solves the problem of degraded user experience caused by unstable network connection status and achieves more efficient bandwidth utilization and service quality optimization.

CN116319347BActive Publication Date: 2025-09-23EBAY INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310265169.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-05-11
Filing Date
2017-05-11
Publication Date
2025-09-23
Estimated Expiration
2037-05-11

AI Technical Summary

Technical Problem

In a networked system, the instability of the network connection status leads to a decrease in the quality of service received by client devices, affecting the user experience.

Method used

Through a bandwidth management system, the network connection status is determined and when the network connection is limited, a composite representation of the media content is requested instead of the original media content, the composite representation including a generic image, text overlay or animated image to reduce bandwidth consumption, and the original media content is requested when the user selects the composite representation.

Benefits of technology

It improves user experience, avoids waiting time for media content transmission, optimizes bandwidth usage, and ensures network connection stability and service quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116319347B_ABST
    Figure CN116319347B_ABST
Patent Text Reader

Abstract

In various exemplary embodiments, a system and method for managing media bandwidth usage is disclosed. A disclosed method includes determining a network connection state of a computing device, receiving a request for media content, changing the request to request a composite representation of the media content instead of the media content in response to the network connection state being one of a set of predefined network connection states and the media content violating one or more constraints of the network connection state, and requesting the media content in response to a user selecting the composite representation.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is filed on May 11, 2017, with international application number

[0002] PCT / US2017 / 032194, divisional application of application with Chinese application number "201780035963.7" and invention name "Managing Data Transmission via Network Connections".

[0003] CROSS-REFERENCE TO RELATED APPLICATIONS

[0004] This application claims priority to U.S. patent application Ser. No. 15 / 152,442, filed May 11, 2016, entitled “MANAGING DATA TRANSMISSIONS OVER ANETWORK CONNECTION,” which is incorporated herein by reference in its entirety. Technical Field

[0005] Embodiments of the present disclosure relate generally to electronic transmission of media content, and more particularly, but not by way of limitation, to managing data transmission over a network connection to limit bandwidth usage. Background Art

[0006] In a networked system, services are provided to one or more client devices via a network (e.g., the Internet or a wide area network (WAN)). Client devices also connect to other devices via the network to obtain services or share content. However, the state of the network connection can affect the quality of the services received by the client devices, thereby degrading the user experience of the users of the client devices. Summary of the Invention

[0007] In order to at least partially solve the above problems and improve the user experience of users using network connections, the present disclosure provides a control system for a dryer, a network including the control system, and a control method for the dryer.

[0008] A first aspect of the present disclosure provides a system comprising: a network module that determines a network connection state of a network connection of a system; a request module that receives a request from a user of the system for media content via the network connection; an adjustment module that, in response to the network connection state being one of a set of predefined network connection states and the media content violating one or more constraints of the network connection state, changes the request to request a composite representation of the media content instead of the media content, the composite representation comprising at least a first portion and a second portion; and a media module that, in response to the user selecting the first portion, requests the media content and, in response to the user selecting the second portion, follows a link associated with the media content.

[0009] A second aspect of the present disclosure provides a method comprising: determining a network connection state of a computing device; receiving a request from a user of the computing device to request media content via a network connection; changing the request to request a composite representation of the media content instead of the media content in response to the network connection state being one of a set of predefined network connection states and the media content violating one or more restrictions of the network connection state, the composite representation comprising at least a first part and a second part; and requesting the media content in response to the user selecting the first part, and following a link associated with the media content in response to the user selecting the second part.

[0010] Other aspects of the present disclosure further provide a machine-readable storage medium storing instructions, which, when executed by one or more processors of a machine, cause the machine to perform the method according to the second aspect.

[0011] Other aspects of the present disclosure further provide a machine-readable medium carrying instructions, which, when executed by one or more processors of a machine, causes the machine to perform the method according to the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The figures in the accompanying drawings depict only example embodiments of the disclosure and are not to be considered limiting of its scope.

[0013] Figure 1 is a block diagram illustrating a networking system according to some example embodiments.

[0014] Figure 2 is a block diagram illustrating an example embodiment of a system for managing media bandwidth.

[0015] Figure 3 is a diagram depicting a user interface according to an example embodiment.

[0016] Figure 4 is a diagram depicting one example of a text overlay according to one embodiment.

[0017] Figure 5 is a flow chart illustrating a method for managing media bandwidth according to an example embodiment.

[0018] Figure 6 is a flow chart illustrating a method for managing media bandwidth according to an example embodiment.

[0019] Figure 7 is a flow chart illustrating a method for managing media bandwidth according to an example embodiment.

[0020] Figure 8is a block diagram illustrating an example of a software architecture that may be installed on a machine according to some example embodiments.

[0021] Figure 9 is a diagrammatic representation of a machine in the form of a computer system according to an example embodiment, within which a set of instructions may be executed to cause the machine to perform any one or more of the methodologies discussed herein.

[0022] The headings provided herein are for convenience only and do not necessarily affect the scope or meaning of the terms used. DETAILED DESCRIPTION

[0023] The following description includes systems, methods, techniques, instruction sequences, and computer program products that specifically implement the illustrative embodiments of the present disclosure. In the following description, for the purpose of explanation, many specific details are set forth to provide an understanding of the various embodiments of the subject matter of the present invention. However, it will be apparent to those skilled in the art that the embodiments of the subject matter of the present invention can be practiced without these specific details. Typically, well-known instruction instances, protocols, structures, and techniques are not necessarily shown in detail.

[0024] In various example embodiments, a system is configured to determine a network connection state of a computing device. The network connection state, as described herein, includes at least the state or condition of a network connection between the computing device and another computing device, as further described in the following paragraphs. In one example, the network connection state is based at least in part on a network transmission speed limit of the network connection.

[0025] In one embodiment, the system can receive a request for media content from a remote system (e.g., from the user). In an exemplary embodiment, in response to the network connection state being one of a group of predefined network connection states and the media content violating one or more restrictions of the network connection state, change this request to request the synthesis representation of media content rather than the media content. In certain embodiments, the synthesis representation is an alternative media object representing the requested media content. In an exemplary embodiment, the alternative media object consumes less bandwidth than the requested media content.

[0026] In one example, in response to limited network bandwidth, the system can change requests for media content that exceeds a certain size so as to transmit a smaller composite representation of the media content. In this way, users of the system may not need to wait for the transmission of the media content in order to interact with the system.

[0027] In other embodiments, as will be further described, the system determines when to transmit the initially requested media content in response to interaction with the user. In one example, the system requests the media content in response to the user selecting the composite representation.

[0028] refer to Figure 1, shows an example embodiment of a high-level client-server based network architecture 100. In the example form of a network-based marketplace or payment system, a networked system 102 provides server-side functionality to one or more client devices 110 via a network 104 (e.g., the Internet or a wide area network (WAN)). Figure 1 1. For example, a web client 112 (e.g., a browser such as that provided by Redmond, Washington) is shown executing on a client device 110. company), client applications 114, and bandwidth management system 150, as will be further described.

[0029] Client device 110 may include, but is not limited to, a mobile phone, a desktop computer, a laptop computer, a portable digital assistant (PDA), a smartphone, a tablet computer, an ultrabook, a netbook, a notebook computer, a multiprocessor system, a microprocessor-based or programmable consumer electronic product, a game console, a set-top box, or any other communication device that a user may use to access networked system 102. In some embodiments, client device 110 may include a display module (not shown) that displays information (e.g., in the form of a user interface). In other embodiments, client device 110 may include one or more of a touch screen, an accelerometer, a gyroscope, a camera, a microphone, a global positioning system (GPS) device, and the like. Client device 110 may be a user's device that is used to conduct transactions involving digital products within networked system 102. In one embodiment, networked system 102 is a network-based marketplace that publishes product listings including products available on the network-based marketplace in response to requests for product listings and manages payment for these marketplace transactions.

[0030] The one or more users 106 may be humans, machines, or other devices that interact with the client device 110. In an embodiment, the users 106 are not part of the network architecture 100, but may interact with the network architecture 100 via the client device 110 or another means. For example, one or more portions of the network 104 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a WAN, a wireless WAN (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the public switched telephone network (PSTN), a cellular telephone network, a wireless network, a WiFi network, a WiMax network, another type of network, or a combination of two or more such networks.

[0031] Each client device 110 may include one or more applications (also referred to as "apps"), such as, but not limited to, a web browser, a messaging application, an electronic mail (email) application, an e-commerce website application (also referred to as a marketplace application), and the like. In some embodiments, if an e-commerce website application is included in a given client device 110, the application is configured to locally provide a user interface and at least some functionality of the e-commerce website, wherein the application is configured to communicate with the networked system 102 as needed for data and / or processing capabilities that are not available locally (e.g., accessing a database of products available for sale, authenticating a user, verifying a payment method, etc.). Conversely, if an e-commerce website application is not included in a client device 110, the client device 110 may use its web browser to access an e-commerce website (or a variant thereof) hosted in the networked system 102.

[0032] One or more users 106 may be humans, machines, or other means of interacting with client devices 110. In an example embodiment, users 106 are not part of network architecture 100, but may interact with network architecture 100 via client devices 110 or other means. For example, user 106 provides input (e.g., touch screen input or alphanumeric input) to client device 110, and the input is transmitted to networked system 102 via network 104. In this case, networked system 102 transmits information to client device 110 via network 104 in response to receiving the input from user 106 for presentation to user 106. In this manner, user 106 may interact with networked system 102 using client device 110.

[0033] Application program interface (API) server 120 and web server 122 are coupled to one or more application servers 140 and provide programming and web interfaces, respectively, to the one or more application servers 140. Application servers 140 may host one or more publishing systems 142 and payment systems 144, each of which may include one or more modules or applications and each of which may be embodied in hardware, software, firmware, or any combination thereof. Application servers 140 are then shown coupled to one or more database servers 124 that facilitate access to one or more information repositories or databases 126. In an example embodiment, database 126 is a storage device that stores information (e.g., publications or listings) to be published to publishing system 142. According to an example embodiment, database 126 may also store digital product information.

[0034] Additionally, a third-party application 132 executing on a third-party server 130 is shown as having programmatic access to the networked system 102 via a programming interface provided by the API server 120. For example, the third-party application 132 utilizes information retrieved from the networked system 102 to support one or more features or functions on a website hosted by the third party. For example, the third-party website provides one or more promotional functions, marketing functions, or payment functions supported by an associated application of the networked system 102.

[0035] The publishing system 142 can provide a number of publishing functions and services to the users 106 accessing the networked system 102. The payment system 144 can also provide a number of functions to perform or facilitate payments and transactions. Figure 1 102, but it will be appreciated that in alternative embodiments, each of systems 142 and 144 may form part of a separate and distinct payment service from networked system 102. In some embodiments, system 144 may form part of issuing system 142.

[0036] In an example embodiment, the bandwidth management system 150 provides functionality operable to determine a network connection state of the client device 110, receive a request for media content via the network connection, alter the request to request a composite representation of the media content instead of the media content in response to the network connection state being one of a set of predefined network connection states and the media content violating one or more constraints of the network connection state, and request the media content in response to the user 106 selecting the composite representation.

[0037] In another example embodiment, the composite representation is a generic image. In one example, the media content is an image of a car, and the composite representation is a generic image of the car. In one example, the generic image is stored on the client device 110 so that the client device 110 can display the generic image without transmitting the media content over a network connection.

[0038] In another example embodiment, the composite representation includes a text overlay that provides information about the requested media content. In an example embodiment, the text overlay includes at least one of the following: the size of the media content, the estimated time to transmit the media content, the estimated cost of transmitting the media content, the category of the media content, and the attributes of the product represented by the media content. Of course, this information may include other attributes of the requested media content, and the present disclosure is not limited thereto.

[0039] In one example embodiment, the composite representation includes an indicated portion of the composite representation, and the bandwidth management system 150 follows a link associated with the media content in response to the user 106 selecting the unindicated portion of the composite representation. In this example embodiment, the user 106 can download the media content by selecting the indicated portion, or can alternatively follow a link associated with the media content without transmitting the media content over a network connection.

[0040] In another example embodiment, the bandwidth management system 150 follows a link associated with the media content in response to the user 106 selecting the composite representation a second time. In one example embodiment, the media content is a video, and the bandwidth management system 150 changes the request for the video to a request for an animated image, wherein at least one frame of the animated image includes an informational text overlay.

[0041] In another example embodiment, the network connection status is one of: bandwidth capacity below threshold, bandwidth limit below threshold, metered bandwidth, disallowed media type, and user restriction, as will be further described.

[0042] In another example embodiment, user 106 can use a first gesture type to select a composite representation and a second gesture type to perform an action associated with the media content. In one example, a single click causes the media content to be transferred to client device 110, while a double click causes bandwidth management system 150 to follow a link associated with the media content. In this manner, user 106 can choose whether to download the media content or can alternatively interact with networking system 102 without causing the media content to be downloaded.

[0043] Although Figure 1 The client-server based network architecture 100 shown in FIG. 1 employs a client-server architecture, but the present subject matter is of course not limited to such an architecture and may equally well be applied in distributed or peer-to-peer architecture systems, for example. The various publishing systems 142, payment system 144, and bandwidth management system 150 may also be implemented as standalone software programs that do not necessarily have networking capabilities.

[0044] The web client 112 can access the various publishing systems 142 and payment systems 144 via a web interface supported by the web server 122. Similarly, the bandwidth management system 150 can communicate with the networked system 102 via a programmatic client. The programmatic client 116 accesses the various services and functions provided by the publishing system 142 and payment system 144 via a programmatic interface provided by the API server 120. For example, the programmatic client can be a seller application (e.g., a programmatic client provided by the San Jose, California The Turbo Lister application developed by the company enables sellers to write and manage listings on the networked system 102 in an offline manner and performs batch mode communication between the programming client and the networked system 102.

[0045] Figure 2 is a block diagram illustrating an example embodiment 200 of the bandwidth management system 150. In this example embodiment, the bandwidth management system 150 includes a network module 220, a request module 240, an adjustment module 260, and a media module 280.

[0046] In one example embodiment, the network module 220 determines a network connection status of the client device 110. In one example, the network connection of the client device 110 exhibits a bandwidth capacity below a threshold. For example, where the threshold network transfer rate is 10 MB per second and a previous transfer of media content to the client device 110 exhibited a network transfer speed below 10 MB per second, the network module 220 determines that the network connection status is limited to the transfer of media content below 10 MB per second.

[0047] In another example embodiment, the network connection is a hardware 100 megabit connection, and the network module 220 determines that the network transfer rate of the network connection is 100 megabits per second.

[0048] In another example embodiment, network module 220 receives one or more values ​​identifying a metered network connection. In one example, network module 220 requests an indicator of the metered status of the network connection. For example, an operating system may transmit one or more indicators indicating a metered amount to network module 220. In one example, the metered amount is $1 per gigabyte. In another example, the metered amount is $0.10 per megabyte. Of course, other metered amounts may be used, and this disclosure is intended to encompass all such amounts.

[0049] In another example embodiment, the network module 220 receives one or more indicators that identify disallowed media types. In one example, the network module 220 may receive an indicator that specifies that video media types are not allowed to be transmitted over the network connection. Of course, other media types may not be allowed over the network connection, and the present disclosure is not limited thereto.

[0050] In another example embodiment, network module 220 receives one or more indicators from a user of bandwidth management system 150 indicating user limits on a network connection. For example, in one embodiment, network module 220 uses one or more libraries to query the operating system to determine the user limits configured by the user. In one example, the user limit is the transmission rate. In another example, the user limit is the type of media that is not allowed. In another example, the user limit is the amount of data that can be transmitted over the network connection within a specific time period. In one example, the time period is one day, and the amount of data transmitted is one gigabyte. In this manner, network module 220 recognizes that the network connection is limited to transmitting one gigabyte of data per day. Of course, other time periods or data amounts can be used, and the present disclosure is not limited in this regard.

[0051] In an example embodiment, the request module 240 is configured to receive a request from a user of the bandwidth management system 150. As will be appreciated by those skilled in the art, the request module 240 may receive a request from a user in a variety of different ways.

[0052] In one example, a user of bandwidth management system 150 requests media content from a remote device. In one example, a network connection is the transmission medium used to transmit the media content. In one example, the user requests a web page from a remote web server. In another example, the user requests streaming media content, such as, but not limited to, audio, music, video, etc., from a remote media server.

[0053] In an example embodiment, the adjustment module 260 changes the request to request a composite representation of the media content instead of the media content in response to the network connection state being one of a set of predefined network connection states and the media content violating one or more constraints of the network connection state.

[0054] In one example, the requested media content is a video, and the adjustment module 260 requests an animated image representing the video (an example of a composite representation of the video) rather than the actual video. In one example, this is in response to the network connection not allowing video content, and thus transmitting the media content over the network connection would violate the limitations of the network connection. In another example, the requested video exceeds the bandwidth limitations of the network connection, and thus transmitting the video would violate the limitations of the network connection. In another example, the video size exceeds a threshold data amount within a period of time, as previously described.

[0055] In another example embodiment, the request module 240 identifies the category of the media content. For example, the request module 240 can request the remote system to identify the category of the image. In one example, the media content is an image of a tree. In this example, the request module 240 indicates that the media content is an image of a tree, rather than requesting an image of a tree. In response, the adjustment module 260 requests a generic image of a tree rather than the media content. Therefore, in certain embodiments, the composite representation is a simplified version of the requested media content. In one example, the composite representation is sufficiently similar to the requested media content, and the user can determine the content of the requested media content based on the composite representation.

[0056] In one example embodiment, the generic image is stored locally and accessible by the bandwidth management system 150. In this manner, in response to media content violating one or more network connection limitations, the bandwidth management system 150 reduces bandwidth usage on the network connection by requesting a composite representation of the media content instead of the media content.

[0057] Of course, other types or categories of images may be used, and the present disclosure is not limited thereto. In some examples, the media content categories include, but are not limited to, cars, plants, landscapes, portraits of individuals, groups of people, animals, certain types of animals, buildings, and the like. In one example, the category or type of image is determined based at least in part on the category of the auction product associated with the media content. In one example, a user requests an online auction for a car. In response, the adjustment module 260 modifies the request for a product image into a request for a generic image of a car. In one example, the composite representation is marked to indicate that it is a composite representation of media content rather than the requested media content.

[0058] In another example embodiment, in response to request module 240 receiving a request for media content and the media content violating one or more restrictions of the network connection state, adjustment module 260 modifies the request. In one example, adjustment module 260 modifies the request by requesting a lower-resolution version of the media content. In another example embodiment, in response to subsequent requests for media content, adjustment module 260 requests subsequent versions of the media content with higher resolutions. In one example, the media content is an image. In response to additional requests for images, adjustment module 260 requests higher-resolution versions of the images. In one example, the image has an original resolution of 5000×5000. In response to a first request for an image, adjustment module 260 requests a 100×100 version of the image. In response to a second request for an image, adjustment module 260 changes the request to a 500×500 version of the image. In response to a third request for an image, adjustment module 260 may request a full-resolution version of the image. In other embodiments, adjustment module 260 requests a reduced color depth for pixels in the image. Of course, those skilled in the art will recognize other ways of modifying an image so that it consumes less data space, and the adjustment module 260 may request any such modifications to the media content.

[0059] In one example embodiment, the network connection remains open so that the continuous synthesis of the transmission media content object represents. In this way, the delay relevant to repeatedly opening and closing the network connection has been avoided. In one example, in each transmission of the synthesis representation media content, comprise metadata so that adjustment module 260 can consider metadata to determine whether the additional synthesis of transmission will violate one or more restrictions of network connection state to change the request for media content. In one example, adjustment module 240 determines that previous synthesis represents and the synthesis of the update represents the size difference between. In response to the restriction that subsequent media content object violates the network connection state, adjustment module 260 can change the request in any way described herein.

[0060] In another example embodiment, adjustment module 260 modifies the request to include metadata describing the state of the network connection. In one example, the request is for a web page, and adjustment module 260 modifies the request to indicate that the state of the network connection is limited to not including images. In this example, adjustment module 260 modifies the request to indicate that the network connection is so limited. In this manner, adjustment module 260 notifies the remote web server that images will not be included in the returned web page.

[0061] In another example embodiment, the adjustment module 260 changes the request based at least in part on the type of action performed by the user to request the media content. In one example, the adjustment module 260 changes a single click requesting media content to request a low-resolution version of the media content, while a double click requesting media content causes the adjustment module 260 to request a full-resolution version of the media content.

[0062] In another example embodiment, the adjustment module 260 modifies the request for media content by requesting a text description of the media content to be displayed instead of the media content. In one example, the adjustment module 260 requests the size of the media content, the estimated time to download the media content, the estimated cost to download the media content, the category of the media content, the status of the media content, or attributes of a product associated with the media content.

[0063] In one example, in response to the network module 220 determining an estimated transmission speed of the content transmitted via the network connection, the adjustment module 260 estimates the time to download the media content. In this example, the adjustment module 260 divides the size of the media content by the transmission speed of the network connection to estimate the time to download the media content.

[0064] In another example, the network module 220 receives an indicator of a metered network connection, and the adjustment module 260 estimates the cost of downloading the media content by multiplying the size of the media content by the meter rate of the network connection.

[0065] In another example embodiment, the adjustment module 260 receives preferences from the user regarding which text values ​​are to be included in the text overlay representing the media content. In one example, the user requests the size of the media content and the estimated cost of downloading the media content, and the adjustment module 260 replaces those values ​​in the text overlay for the media content. In another example embodiment, the user preferences include a seller logo or other customized graphical element or a customized seller message.

[0066] In one example embodiment, the adjustment module 260 divides the composite representation into two or more parts and assigns different parts to perform different operations in response to user selection of a part. In one example, selecting one part causes the adjustment module 260 to request the originally requested media content, while selecting another part causes the adjustment module 260 to follow a link associated with the media content.

[0067] As will be appreciated by those skilled in the art, selecting a portion of a composite representation of media content can include a user performing any number of actions or inputs. In one example, the input from the user is selected from a group comprising a tap, double-click, drag, pinch, flick, swipe, touch and hold, force touch, shake, other inputs, etc.

[0068] In another example embodiment, a single click causes the adjustment module 260 to request the originally requested media content, and a long touch by the user causes the adjustment module 260 to follow a link associated with the media content. Other examples include a force touch above a certain threshold force resulting in a different operation than a force touch below a certain threshold force.

[0069] In one example embodiment, when the bandwidth management system 150 receives media content that may be requested by a user, the bandwidth management system 150 generates various composite representations of the media content. In some examples, the composite representations include graphics representing the media content, animations similar to the media content, text overlays including information about the media content, various resolutions of the media content, animated images of the media content that are videos, other representations, etc.

[0070] In an example embodiment, media module 280 is configured to request media content in response to a user selecting a composite representation in any of the manners described herein.

[0071] In one example, the media content is an image of a product for sale. A user submits a query using bandwidth management system 150, where the product for sale is included in the search results. Network module 220 determines that the network connection status is a media size restriction because the user indicates a preference not to download media exceeding a certain size using the mobile computing device, and the mobile computing device reports a metered network connection. In response to the network connection's restriction not allowing media content exceeding 1 megabyte in size and the size of the product image exceeding 1 megabyte, adjustment module 260 modifies the request to request a composite representation of the product image. In this example, the composite representation is a text overlay as described herein.

[0072] In response to the user selecting the composite representation (in this example, a text overlay), the media module 280 requests the media content. In response to the user selecting media content that replaces the composite representation, the media module 280 follows a link associated with the media content.

[0073] Figure 3 FIG300 is an illustration depicting the resulting user interface according to an example embodiment. In this example embodiment, the network module 220 determines that the network connection state is limited bandwidth and the user queries an online marketplace for products available for purchase using the search term "Audi." In this example, the adjustment module 260 modifies the query to indicate a preference for a composite representation of an image associated with the search result.

[0074] In one exemplary embodiment, product 302 in the search results includes an Audi TT car. In this example, the composite representation is a generic image 304 of a car because the product is a car. Another product 310 in the search results includes tires for Audi, and the composite representation is a generic image 312 of tires because the product is in the "Tires" category. In one exemplary embodiment, in response to the user selecting generic image 304, media module 280 requests media content that is the originally submitted image of product 302 for sale.

[0075] Figure 4 is a diagram 400 depicting one example of a text overlay according to one embodiment. In this example embodiment, the adjustment module 260 divides a composite representation (eg, an image) into a first portion 402 and a second portion 410.

[0076] In one example embodiment, in response to the user selecting the second portion 410, the media module 280 requests the original media content. In response to the user selecting the first portion 402, the media module 280 follows a link associated with the composite representation. In this example embodiment, the composite representation is an image that includes a text overlay that depicts various attributes of the media content and / or attributes of a product associated with the media content.

[0077] In another example embodiment, the text overlay indicates that the size of the media content is 7 megabytes, the estimated download time is 12 seconds, the estimated download cost is 19 cents, the category of the product associated with the media content is "Apparel," and the product associated with the media content is "Brand New."

[0078] Figure 5 is a flow chart illustrating a method 500 for managing media bandwidth according to an example embodiment. The operations in the method 500 may be performed by the bandwidth management system 150 using the method described above with reference to Figure 2 The module described is executed. Figure 5 As shown in , method 500 includes operations 510 , 520 , 530 , and 540 .

[0079] In one example embodiment, method 500 begins and in operation 510, network module 220 determines a network connection state of a system executing method 500. In one example, network module 220 determines that the network connection is in a state that restricts certain media content types.

[0080] Method 500 continues in operation 520, and request module 240 receives a request for media content from a user of the system via a network connection. In one example, a user searches for products for sale in an online marketplace.

[0081] Method 500 continues in operation 530, and adjustment module 260 changes the request to request a composite representation of the media content instead of the media content in response to the network connection state being one of a set of predefined network connection states and the media content violating one or more restrictions of the network connection state. In one example, the network connection state includes that video is not allowed, and the requested media type is video. In response, adjustment module 260 requests an animated image instead of the video. In another example embodiment, at least one frame of the animated image includes a text overlay presenting information about the media content.

[0082] Method 500 continues at operation 540, and media module 280 requests media content in response to the user selecting the composite representation. In one example, the user selects a text overlay representing an image, and media module 280 requests the image in response to the user selecting the text overlay. In another example embodiment, in response to the user selecting the composite representation a second time, media module 280 follows a link associated with the media content.

[0083] Figure 6 is a flow chart illustrating a method 600 for managing media bandwidth according to an example embodiment. The operations in the method 600 may be performed by the bandwidth management system 150 using the method described above with reference to Figure 2 The module described is executed. Figure 6 As shown in , method 600 includes operations 610 , 620 , 630 , 640 , 650 , 670 , 680 , and 690 .

[0084] In an example embodiment, method 600 begins and in operation 610, network module 220 determines a network connection status of a system executing method 600. In one example, network module 220 determines that the network connection status is bandwidth limited below a threshold transmission speed.

[0085] Method 600 continues at operation 620, and request module 240 receives a request for media content via the network connection. Method 600 continues at operation 630, and request module 240 determines whether the requested media content violates restrictions of the network connection state. In one example, the request is for a video that exceeds a threshold transmission speed for the network connection state. In response to the video not exceeding the threshold transmission speed, method 600 continues at operation 670.

[0086] In response to the video exceeding the threshold transmission speed, method 600 continues at operation 640, and adjustment module 260 changes the request to request a composite representation of the media content instead of the media content. In one example, the network connection status includes a user restriction that does not transmit images via the network connection. In response, adjustment module 260 requests a generic image to be loaded from local storage instead of downloading the image.

[0087] Method 600 continues at operation 650, and media module 280 determines whether the user has selected the composite representation. In response to the user not selecting the composite representation, method 600 continues at operation 620. In response to the user selecting the composite representation, method 600 continues at operation 670.

[0088] In operation 670, the media module 280 requests the media content. Method 600 continues in operation 680, and the media module 280 determines whether the user selects the media content. In response to the user not selecting the media content, method 600 continues in operation 620. In response to the user selecting the media content, method 600 continues in operation 690, and the media module 280 performs an action associated with the media content. In one example, the media module 280 follows a link associated with the media content.

[0089] Figure 7 is a flow chart illustrating a method 700 for managing media bandwidth according to an example embodiment. The operations in the method 700 may be performed by the bandwidth management system 150 using the method described above with reference to Figure 2 The module described is executed. Figure 7 As shown in , method 700 includes operations 720 , 730 , 740 , 750 , 760 , and 770 .

[0090] In one example embodiment, method 700 begins and in operation 720, request module 240 receives a request for media content via a network connection. Method 700 continues in operation 730, and network module 220 determines a network connection restriction of the system executing method 700. In one example, the network connection restriction of the network connection state is a user restriction that restricts audio media content during a specific time period.

[0091] Method 700 continues at operation 740, and network module 220 determines whether the network connection limit is predefined. In response to the network connection limit not being predefined, method 700 continues at operation 770. In response to the network connection limit being predefined, method 700 continues at operation 750, and network module 220 determines the network connection status based at least in part on the network connection limit. In one example, audio media restrictions based on time of day are predefined network connection restrictions, and in response, network module 220 determines that the network connection limit is predefined.

[0092] The method 700 continues in operation 760, and the adjustment module 260 changes the request to request a synthesized representation of the media content instead of the media content. In one example, the synthesized representation of the audio media content is a textual representation of the words spoken in the audio media content. The method 700 continues in operation 765, and the adjustment module 260 determines whether the user has selected the synthesized representation.

[0093] In response to the user not selecting the composite representation, the method 700 ends. In response to the user selecting the composite representation, the method continues in operation 770. In operation 770, the media module 280 requests media content in response to the user selecting the composite representation.

[0094] Modules, components, and logic

[0095] Certain embodiments are described herein as including logic or multiple components, modules, or mechanisms. A module may constitute a software module (e.g., code embodied on a machine-readable medium) or a hardware module. A "hardware module" is a tangible unit that is capable of performing certain operations and may be configured or arranged in some physical manner. In various example embodiments, one or more computer systems (e.g., a stand-alone computer system, a client computer system, or a server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) to operate as a hardware module that performs certain operations as described herein.

[0096] In some embodiments, the hardware module can be implemented mechanically, electronically, or any appropriate combination thereof. For example, the hardware module can include a dedicated circuit or logic that is permanently configured to perform certain operations. For example, the hardware module can be a dedicated processor, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). The hardware module can also include a programmable logic or circuit that is temporarily configured by software to perform certain operations. For example, the hardware module can include software executed by a general-purpose processor or other programmable processor. Once configured by this type of software, the hardware module becomes a specific machine (or specific component of a machine) that is uniquely customized to perform the configured function and is no longer a general-purpose processor. It will be understood that the decision to mechanically implement the hardware module in a dedicated and permanently configured circuit, or in a temporarily configured (e.g., software-configured) circuit can be driven by cost and time considerations.

[0097] Therefore, the phrase "hardware module" should be understood to cover tangible entities, i.e., entities that are physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in some manner or perform certain operations described herein. As used herein, a "hardware-implemented module" refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each hardware module does not need to be configured or instantiated at any one time. For example, in the case where a hardware module includes a general-purpose processor configured by software to become a special-purpose processor, the general-purpose processor can be configured to be different special-purpose processors (e.g., including different hardware modules) at different times. The software configures a specific one or more processors accordingly, for example, to constitute a specific hardware module at one time and to constitute different hardware modules at different times.

[0098] A hardware module can provide information to other hardware modules and receive information from them. Therefore, the described hardware modules can be considered to be communicatively coupled. In the case of multiple hardware modules being present at the same time, communication can be achieved by signal transmission (e.g., through appropriate circuits and buses) between or among two or more hardware modules. In an embodiment in which multiple hardware modules are configured or instantiated at different times, communication between such hardware modules can be achieved, for example, by storing and retrieving information in a memory structure accessible to multiple hardware modules. For example, a hardware module can perform an operation and store the output of the operation in a memory device to which it is communicatively coupled. Then, another hardware module can access the memory device at a later time to retrieve and process the stored output. The hardware module can also initiate communication with an input or output device and can operate on a resource (e.g., a collection of information).

[0099] The various operations of the example methods described herein may be performed, at least in part, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions described herein. As used herein, a "processor-implemented module" refers to a hardware module implemented using one or more processors.

[0100] Similarly, the method described herein can be implemented at least in part by a processor, wherein specific one or more processors are examples of hardware. For example, at least some operations of the method can be performed by one or more processors or a module implemented by the processor. In addition, one or more processors can also operate to support the execution of related operations in a "cloud computing" environment or as "software as a service" (SaaS). For example, at least some operations can be performed by a group of computers (as an example of a machine including a processor), wherein these operations can be accessed via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., application program interface (API)).

[0101] The performance of certain operations can be distributed among the processors, not only residing within a single machine, but also deployed on multiple machines. In some example embodiments, the processor or processor-implemented modules can be located in a single geographic location (e.g., in a home environment, an office environment, or a server farm). In other example embodiments, the processor or processor-implemented modules can be distributed across multiple geographic locations.

[0102] Machine and software architecture

[0103] In some embodiments, combined Figures 2 to 7 The described modules, methods, applications, etc. are implemented in the context of a machine and related software architecture. The following section describes representative software architectures and machine (eg, hardware) architectures suitable for the disclosed embodiments.

[0104] Software architectures are used in conjunction with hardware architectures to create devices and machines tailored for specific purposes. For example, a specific hardware architecture coupled with a specific software architecture will create a mobile device, such as a mobile phone, a tablet device, or the like. Slightly different hardware and software architectures might create smart devices for the "Internet of Things," while another combination might create a server computer for use within a cloud computing architecture. Not all combinations of such software and hardware architectures are presented here, as those skilled in the art will readily understand how to implement the subject matter of the present invention in contexts different from the disclosure contained herein.

[0105] Software Architecture

[0106] Figure 8 is a block diagram illustrating an example of a software architecture 802 that may be installed on a machine according to some example embodiments. Figure 8 This is merely a non-limiting example of a software architecture, and it should be understood that many other architectures may be implemented to facilitate the functionality described herein. The software architecture 802 may be implemented in a system such as Figure 9 900, including a processor 910, a memory / storage device 930, and an I / O component 950. Figure 8A representative hardware layer 804 is shown and may represent Figure 9 The representative hardware layer 804 includes one or more processing units 806 with associated executable instructions 808. The executable instructions 808 represent executable instructions of the software architecture 802, including Figures 2 to 7 The hardware layer 804 also includes a memory and / or storage module 810, which also has executable instructions 808. The hardware layer 804 may also include other hardware 812 representing any other hardware of the hardware layer 804, such as other hardware shown as part of the machine 900.

[0107] exist Figure 8 In the example architecture of , software architecture 802 can be conceptualized as a stack of layers, wherein each layer provides specific functionality. For example, software architecture 802 may include layers such as an operating system 814, a library 816, a framework / middleware 818, an application 820, and a presentation layer 844. Operationally, the application 820 and / or other components within the layer may call an application programming interface (API) call 824 through the software stack and receive responses, return values, etc. shown as messages 826 in response to the API call 824. The layers shown are representative in nature, and not all software architectures have all layers. For example, some mobile or dedicated operating systems may not provide a framework / middleware layer 818, while other operating systems may provide such a layer. Other software architectures may include additional layers or different layers.

[0108] The operating system 814 can manage hardware resources and provide common services. The operating system 814 can include, for example, a kernel 828, services 830, and drivers 832. In another example embodiment, the network module 220 is implemented as part of the operating system 814. The kernel 828 can act as an abstraction layer between the hardware and other software layers. For example, the kernel 828 can be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, etc. The services 830 can provide other common services to other software layers. The drivers 832 can be responsible for controlling or connecting to the underlying hardware. For example, the drivers 832 can include display drivers, camera drivers, drives, flash drives, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), Drivers, audio drivers, power management drivers, etc.

[0109] Libraries 816 can provide common infrastructure that can be used by applications 820 and / or other components and / or layers. Libraries 816 generally provide functionality that allows other software modules to perform tasks in a simpler manner than directly interfacing with underlying operating system 814 functionality (e.g., kernel 828, services 830, and / or drivers 832). Libraries 816 can include system 834 libraries (e.g., C standard libraries), which can provide functionality such as memory allocation functions, string manipulation functions, mathematical functions, etc. In addition, libraries 816 can include API libraries 836, such as media libraries (e.g., libraries for supporting the rendering and manipulation of various media formats such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG), graphics libraries (e.g., the OpenGL framework for rendering 2D and 3D graphical content on a display), database libraries (e.g., SQLite, which can provide various relational database functions), web libraries (e.g., WebKit, which can provide web browsing functionality), etc. Libraries 816 can also include various other libraries 838 to provide many other APIs to applications 820 and other software components / modules. In one example embodiment, the network module 220 communicates with a library via an API to determine network connection limits.

[0110] In one example embodiment, bandwidth management system 150a is implemented as an application 820. In another example embodiment, bandwidth management system 150b is implemented as a framework and / or middleware 818. In one example embodiment, network module 22c is implemented as part of operating system 814.

[0111] The framework / middleware 818 layer can provide a higher-level common infrastructure that can be used by applications 820 and / or other software components / modules. For example, the framework 1518 can provide various graphical user interface (GUI) functions, advanced resource management, advanced location services, etc. The framework / middleware 818 can provide a variety of other APIs that can be used by applications 820 and / or other software components / modules, some of which can be specific to a particular operating system 814 or platform.

[0112] Applications 820 include built-in applications 840 and / or third-party applications 842. Examples of representative built-in applications 840 may include, but are not limited to, a contacts application, a browser application, a book reader application, a location application, a media application, a messaging application, and / or a game application. Third-party applications 842 may include any of the built-in applications 840 as well as various other applications. In a specific example, third-party applications 842 (e.g., applications created by entities other than the vendor of a particular platform using Android TM or iOS TMSoftware Development Kit (SDK) can be used to develop applications on platforms such as iOS TM 、Android TM 、 Mobile software running on a mobile operating system such as a mobile phone or other mobile operating system. In this example, third-party applications 842 can call API calls 824 provided by a mobile operating system such as operating system 814 to facilitate the functionality described herein.

[0113] Applications 820 can create user interfaces to interact with system users by utilizing built-in operating system functionality (e.g., kernel 828, services 830, and / or drivers 832), libraries (e.g., system libraries 834, API libraries 836, and other libraries 838), and framework / middleware 818. Alternatively or additionally, in some systems, interaction with the user can occur through a presentation layer, such as presentation layer 844. In these systems, application / module "logic" can be separated from aspects of the application / module used for interaction.

[0114] In one example embodiment, the bandwidth management system 150a is implemented as an application 820. In another example, each module of the bandwidth management system 150 is implemented as one or more applications 820 that communicate with each other, such as Figure 6 Described in .

[0115] Some software architectures utilize virtual machines. Figure 8 In the example of , this is illustrated by virtual machine 848. A virtual machine creates a software environment where applications / modules can be run as if they were on a hardware machine such as Figure 9 The virtual machine is executed by the host operating system ( Figure 8 The virtual machine 848 is hosted by an operating system 814 in the host computer and typically, but not always, has a virtual machine monitor 846 that manages the operation of the virtual machine and the connection with the host operating system (e.g., operating system 814). Software architecture executes within the virtual machine 848, such as an operating system 850, libraries 852, framework / middleware 854, applications 856, and / or a presentation layer 858. These software architecture layers executed within the virtual machine 848 may be the same as or may be different from the corresponding layers described previously.

[0116] Example machine architecture and machine-readable medium

[0117] Figure 9 is a diagrammatic representation of a machine 900 in the form of a computer system according to an example embodiment, within which a set of instructions may be executed to cause the machine 900 to perform any one or more of the methodologies discussed herein.

[0118] Specifically, Figure 9A schematic diagram of a machine 900 in the exemplary form of a computer system is shown within which any one or more instructions 916 (e.g., software, programs, applications, applets, computer applications, or other executable code) may be executed to cause the machine 900 to perform the methods discussed herein. For example, the instructions 916 may cause the machine 900 to perform Figures 5 to 7 Additionally or alternatively, instruction 916 may implement Figure 2 The network module 220, request module 240, adjustment module 260 and / or media module 280 of the present invention are provided. Instructions 916 convert a general unprogrammed machine into a machine that is programmed to perform the functions described and shown in the described manner. In an alternative embodiment, the machine 900 operates as a standalone device or can be coupled (e.g., networked) to other machines. In a networked deployment, the machine 900 can operate as a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 900 may include, but is not limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular phone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), an intelligent home device (e.g., an intelligent appliance), other intelligent devices, a network device, a network router, a network switch, a network bridge, or any machine capable of executing instructions 916, which specifies the actions to be taken by the machine 900 in a sequential or other manner. Further, while a single machine 900 is illustrated, the term "machine" shall also be taken to include any collection of machines 900 that individually or jointly execute instructions 916 to perform any one or more of the methodologies discussed herein.

[0119] The machine 900 may include a processor 910, a memory 930, and I / O components 950, which may be configured to communicate with each other, such as via a bus 902. In an example embodiment, the processor 910 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, a processor 912 and a processor 914 that may execute instructions 916. The term "processor" is intended to include multi-core processors, which may include two or more independent processors (sometimes referred to as "cores") that may execute instructions concurrently. Although Figure 9Multiple processors 910 are shown, but the machine 900 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.

[0120] The memory / storage 930 may include a memory 932, such as a main memory or other memory storage device, and a storage unit 936, both of which may be accessed by the processor 910, such as via the bus 902. The storage unit 936 and the memory 932 store instructions 916 that implement any one or more of the methodologies or functions described herein. During execution by the machine 900, the instructions 916 may also reside, completely or partially, within the memory 932, within the storage unit 936, within at least one of the processors 910 (e.g., within a cache memory of the processor), or any suitable combination thereof. Thus, the memory 932, the storage unit 936, and the memory of the processor 910 are examples of machine-readable media.

[0121] As used herein, a “machine-readable medium” refers to a device capable of storing instructions and data, either temporarily or permanently, and may include, but is not limited to, random access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical media, magnetic media, cache memory, other types of storage devices (e.g., erasable programmable read-only memory (EEPROM)), and / or any suitable combination thereof. The term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) that can store instructions 916. The term “machine-readable storage medium” should also be taken to include any medium or combination of multiple media that can store instructions (e.g., instructions 916) for execution by a machine (e.g., machine 900), such that the instructions, when executed by one or more processors of machine 900 (e.g., processor 910), cause the machine to perform any one or more of the methods described herein. Thus, a “machine-readable medium” refers to a single storage device or device, as well as a “cloud-based” storage system or storage network comprising multiple storage devices or devices. The term “machine-readable medium” includes transmission media such as signals.

[0122] The I / O components 950 may include various components for receiving input, providing output, generating output, transmitting information, exchanging information, capturing measurements, etc. The specific I / O components 950 included in a particular machine will depend on the type of machine. For example, a portable machine such as a mobile phone will likely include a touch input device or other such input mechanism, while a headless server machine will likely not include such a touch input device. It will be understood that the I / O components 950 may include Figure 9Many other components are not shown. The I / O components 950 are grouped according to function only to simplify the following discussion, and the grouping is in no way limiting. In various example embodiments, the I / O components 950 may include output components 952 and input components 954. The output components 952 may include visual components (e.g., displays such as plasma display panels (PDPs), light-emitting diode (LED) displays, liquid crystal displays (LCDs), projectors, or cathode ray tubes (CRTs)), acoustic components (e.g., speakers), tactile components (e.g., vibration motors, resistance mechanisms), other signal generators, and the like. The input components 954 may include alphanumeric input components (e.g., keyboards, touch screens configured to receive alphanumeric input, optical keyboards, or other alphanumeric input components), point-based input components (e.g., mice, touchpads, trackballs, joysticks, motion sensors, or other pointing instruments), touch input components (e.g., physical buttons, touch screens that provide touch location and / or force or touch gestures, or other touch input components), audio input components (e.g., microphones), and the like.

[0123] In other example embodiments, the I / O component 950 may include various other components such as a biometric component 956, a motion component 958, an environmental component 960, or a position component 962. For example, the biometric component 956 may include a component for detecting expressions (e.g., hand expressions, facial expressions, vocal expressions, body postures, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweating, or brain waves), identifying people (e.g., voice recognition, retinal recognition, facial recognition, fingerprint recognition, or electroencephalogram-based recognition), etc. The motion component 958 may include an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, a rotation sensor component (e.g., a gyroscope), etc. The environment component 960 may include, for example, an illumination sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers that detect ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an acoustic sensor component (e.g., one or more microphones that detect background noise), a proximity sensor component (e.g., an infrared sensor that detects nearby objects), a gas sensor (e.g., a gas sensor that detects concentrations of hazardous gases to ensure safety or measures pollutants in the atmosphere), or other components that can provide indications, measurements, or signals corresponding to the surrounding physical environment. The location component 962 may include a location sensor component (e.g., a global positioning system (GPS) receiver component), an altitude sensor component (e.g., an altimeter or barometer that detects air pressure from which altitude can be derived), an orientation sensor component (e.g., a magnetometer), etc.

[0124] A variety of technologies can be used to implement communications. The I / O components 950 may include a communication component 964 operable to couple the machine 900 to the network 104 or device 970 via coupling 982 and coupling 972, respectively. For example, the communication component 964 may include a network interface component or other suitable device to connect to the network 104. In other examples, the communication component 964 may include a wired communication component, a wireless communication component, a cellular communication component, a near field communication (NFC) component, Components (e.g. Low power consumption), Components and other communication components to provide communication via other modes.Device 970 can be another machine or any of a variety of peripheral devices (eg, a peripheral device coupled via USB).

[0125] Furthermore, the communication component 964 can detect an identifier or include a component operable to detect an identifier. For example, the communication component 964 can include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional bar codes such as Universal Product Code (UPC) bar codes, multi-dimensional bar codes such as Quick Response (QR) codes, Aztec codes, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar codes, and other optical codes), or an acoustic detection component (e.g., a microphone for identifying an audio signal of a tag). Additionally, various information can be derived via the communication component 964, such as location via Internet Protocol (IP), geographic location via Internet Protocol (IP), location information ... Location of signal triangulation, location via detection of NFC beacon signals that can indicate a specific location, and so on.

[0126] transmission medium

[0127] In various example embodiments, one or more portions of network 104 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), the Internet, a portion of the Internet, a portion of a public switched telephone network (PSTN), a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, 104, another type of network, or a combination of two or more such networks. For example, network 104 or a portion of network 104 may include a wireless or cellular network, and coupling 982 may be a code division multiple access (CDMA) connection, a global system for mobile communications (GSM) connection, or another type of cellular or wireless coupling. In this example, coupling 982 may implement any of various types of data transmission technologies, such as single carrier radio transmission technology (1xRTT), evolution data optimized (EVDO) technology, general packet radio service (GPRS) technology, enhanced data rates for GSM evolution (EDGE) technology, the 3rd Generation Partnership Project (3GPP) including 3G, fourth generation wireless (4G) networks, universal mobile telecommunications system (UMTS), high speed packet access (HSPA), worldwide interoperability for microwave access (WiMAX), long term evolution (LTE) standards, standards defined by various standards setting bodies, other long distance protocols, or other data transmission technologies.

[0128] Instructions 916 may be transmitted or received over the network 104 using a transmission medium via a network interface device (e.g., a network interface component included in the communication component 964) and utilizing any of a number of well-known transmission protocols (e.g., Hypertext Transfer Protocol (HTTP)). Similarly, instructions 916 may be transmitted or received using a transmission medium via a coupling 972 (e.g., a peer-to-peer coupling) to the device 970. The term "transmission medium" should be taken to include any intangible medium capable of storing, encoding, or carrying the instructions 916 for execution by the machine 900, and includes digital or analog communication signals or other intangible media to facilitate communication of such software. A transmission medium is an embodiment of a machine-readable medium that carries instructions.

[0129] The following numbered examples are embodiments.

[0130] 1. A system comprising:

[0131] A network module, which determines the network connection status of the system's network connection;

[0132] a request module that receives a request from a user of the system for media content via the network connection;

[0133] an adjustment module that changes the request to request a composite representation of the media content instead of the media content in response to the network connection state being one of a set of predefined network connection states and the media content violating one or more constraints of the network connection state; and a media module that requests the media content in response to the user selecting the composite representation.

[0134] 2. The system of example 1, wherein the composite representation is one of an informational text overlay and a generic image that includes information about the media content.

[0135] 3. A system according to Example 2, wherein the information text coverage includes at least one of the following: the size of the media content, the estimated time to transmit the media content, the estimated cost to transmit the media content, the category of the media content, and the attributes of the product represented by the media content.

[0136] 4. The system of example 2 or example 3, wherein the generic image is selected based on the generic image representing a category of products associated with the media content.

[0137] 5. A system according to any one of Examples 1 to 4, wherein selecting the composite representation includes selecting an indicated portion of the composite representation, and the media module follows a link associated with the media content in response to the user selecting the unindicated portion of the composite representation.

[0138] 6. The system of any one of examples 1 to 5, wherein the media module further follows a link associated with the media content in response to the user selecting the composite representation a second time.

[0139] 7. A system according to any one of Examples 1 to 6, wherein the media content is a video and the adjustment module changes the request for the video to a request for an animated image, wherein at least one frame of the animated image includes an informational text overlay.

[0140] 8. The system of any one of Examples 1 to 7, wherein the network connection status is one of: bandwidth capacity below a threshold, bandwidth limit below a threshold, metered bandwidth, disallowed media type, and user restriction.

[0141] 9. The system of any one of Examples 1 to 8, wherein a first gesture type selects the composite representation and a second gesture type performs an action associated with the media content.

[0142] 10. A method comprising:

[0143] determining a network connection status of a computing device;

[0144] receiving a request from a user of the computing device for media content via a network connection;

[0145] responsive to the network connection state being one of a set of predefined network connection states and the media content violating one or more constraints of the network connection state, changing the request to request a composite representation of the media content instead of the media content; and

[0146] The media content is requested in response to the user selecting the composite representation.

[0147] 11. The method of example 10, wherein the composite representation is one of an informational text overlay and a generic image that includes information about the media content.

[0148] 12. A method according to Example 11, wherein the information text overlay includes at least one of the following: the size of the media content, the estimated time to transmit the media content, the estimated cost to transmit the media content, the category of the media content, and the attributes of the product represented by the media content.

[0149] 13. The method of example 11 or example 12, wherein the generic image is selected based on the generic image representing a category of products associated with the media content.

[0150] 14. A method according to any one of Examples 10 to 13, wherein selecting the composite representation includes selecting an indicated portion of the composite representation, and the method further includes following a link associated with the media content in response to the user selecting an unindicated portion of the composite representation.

[0151] 15. The method of any one of Examples 10 to 14, further comprising following a link associated with the media content in response to the user selecting the composite representation a second time.

[0152] 16. A method according to any one of Examples 10 to 15, wherein the media content is a video, and changing the request includes changing the request for the video to a request for an animated image, wherein at least one frame of the animated image includes an informational text overlay.

[0153] 17. The method of any one of Examples 10 to 16, wherein the network connection status is one of: bandwidth capacity below a threshold, bandwidth limit below a threshold, metered bandwidth, disallowed media type, and user restriction.

[0154] 18. A machine-readable storage medium storing instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

[0155] Determine the machine's network connection status;

[0156] receiving a request from a user of the machine for media content via a network connection;

[0157] responsive to the network connection state being one of a set of predefined network connection states and the media content violating one or more constraints of the network connection state, changing the request to request a composite representation of the media content instead of the media content; and

[0158] The media content is requested in response to the user selecting the composite representation.

[0159] 19. The machine-readable storage medium of example 18, wherein the composite representation is one of an informational text overlay and a generic image that includes information about the media content.

[0160] 20. The machine-readable storage medium of example 18 or example 19, wherein the operations further comprise performing an action associated with the media content in response to the user selecting the media content.

[0161] 21. A machine-readable medium carrying instructions that, when executed by one or more processors of a machine, cause the machine to perform the method of any one of Examples 10 to 17.

[0162] language

[0163] Throughout the specification, multiple instances can be implemented as components, operations or structures described as single instances. Although the individual operations of one or more methods are shown and described as individual operations, one or more of the individual operations can be performed simultaneously and do not require the operations to be performed in the order shown. The structure and function presented as independent components in the example configuration can be implemented as combined structures or components. Similarly, the structure and function presented as individual components can be implemented as independent components. These and other changes, modifications, additions and improvements fall within the scope of this paper theme.

[0164] Although an overview of the inventive subject matter has been described with reference to specific example embodiments, various modifications and changes may be made to these embodiments without departing from the broader scope of the embodiments of the present disclosure. Such embodiments of the inventive subject matter may be referred to herein, individually or collectively, by the term "invention" merely for convenience and without intending to automatically limit the scope of this application to any single disclosure or inventive concept when more than one is actually disclosed.

[0165] The embodiments shown herein are described in sufficient detail to enable those skilled in the art to practice the disclosed teachings. Other embodiments may be used and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of the present disclosure. Therefore, the detailed description should not be considered limiting, and the scope of the various embodiments is limited only by the appended claims, along with all equivalents to which such claims are entitled.

[0166] As used herein, the term "or" may be interpreted in an inclusive or exclusive sense. Furthermore, multiple examples may be provided for a resource, operation, or structure described herein as a single example. Furthermore, the boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary, and particular operations are shown in the context of specific illustrative configurations. Other allocations of functionality are contemplated and may fall within the scope of various embodiments of the present disclosure. In general, structures and functions presented as independent resources in the example configurations may be implemented as combined structures or resources. Similarly, structures and functions presented as single resources may be implemented as independent resources. These and other changes, modifications, additions, and improvements fall within the scope of the embodiments of the present disclosure as represented by the appended claims. Accordingly, the specification and drawings are to be considered illustrative rather than restrictive.

Claims

1. A bandwidth management system, comprising: A network module, which determines the network connection status of the system's network connection; a request module that receives a request from a user of the system for media content via the network connection; an adjustment module that, in response to the network connection state being one of a set of predefined network connection states and the media content violating one or more constraints of the network connection state, changes the request to request a composite representation of the media content instead of the media content, and divides the composite representation into at least a first portion and a second portion; as well as A media module requests the media content in response to the user selecting the first portion and follows a link associated with the media content in response to the user selecting the second portion. 2 . The bandwidth management system of claim 1 , wherein the composite representation is one of an informational text overlay and a generic image that includes information about the media content.

3. The bandwidth management system of claim 2, wherein the information text overlay includes at least one of: the size of the media content, an estimated time to transmit the media content, an estimated cost to transmit the media content, a category of the media content, and attributes of a product represented by the media content.

4. The bandwidth management system of claim 2, wherein the generic image is selected based on the generic image representing a category of product associated with the media content.

5. The bandwidth management system of claim 1, wherein the media module further follows a link associated with the media content in response to the user selecting the first portion a second time.

6. The bandwidth management system of claim 1, wherein the media content is a video and the adaptation module changes the request for the video to a request for an animated image, wherein at least one frame of the animated image includes an informational text overlay.

7. The bandwidth management system of claim 1, wherein the network connection status is one of: bandwidth capacity below threshold, bandwidth limit below threshold, metered bandwidth, disallowed media type, and user restriction.

8. The bandwidth management system of claim 1, wherein a first gesture type requests the composite representation and a second gesture type performs an action associated with the media content.

9. A bandwidth management method, comprising: determining a network connection status of a computing device; receiving a request from a user of the computing device for media content via a network connection; responsive to the network connection state being one of a set of predefined network connection states and the media content violating one or more constraints of the network connection state, changing the request to request a composite representation of the media content instead of the media content, and dividing the composite representation into at least a first portion and a second portion; as well as The media content is requested in response to the user selecting the first portion, and a link associated with the media content is followed in response to the user selecting the second portion.

10. The bandwidth management method of claim 9, wherein the composite representation is one of an informational text overlay and a generic image that includes information about the media content.

11. The bandwidth management method of claim 10, wherein the information text coverage includes at least one of: the size of the media content, the estimated time to transmit the media content, the estimated cost to transmit the media content, the category of the media content, and the attributes of the product represented by the media content.

12. The bandwidth management method of claim 10, wherein the generic image is selected based on the generic image representing a category of a product associated with the media content.

13. The bandwidth management method according to claim 9, wherein the method further comprises: A link associated with the media content is followed in response to the user selecting the first portion a second time.

14. The bandwidth management method of claim 9, wherein the media content is a video, and changing the request comprises changing the request for the video to a request for an animated image, wherein at least one frame of the animated image includes an informational text overlay.

15. The bandwidth management method of claim 9, wherein the network connection status is one of: bandwidth capacity below a threshold, bandwidth limit below a threshold, metered bandwidth, disallowed media type, and user restriction.

16. A non-transitory machine-readable storage medium storing instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising: Determine the machine's network connection status; receiving a request from a user of the machine for media content via a network connection; responsive to the network connection state being one of a set of predefined network connection states and the media content violating one or more constraints of the network connection state, changing the request to request a composite representation of the media content instead of the media content, and dividing the composite representation into at least a first portion and a second portion; and The media content is requested in response to the user selecting the first portion, and a link associated with the media content is followed in response to the user selecting the second portion. 17 . The non-transitory machine-readable storage medium of claim 16 , wherein the composite representation is one of an informational text overlay and a generic image that includes information about the media content.

18. The non-transitory machine-readable storage medium of claim 16, wherein the operations further comprise performing an action associated with the media content in response to the user selecting the first portion.

19. A machine-readable medium carrying instructions, which, when executed by one or more processors of a machine, cause the machine to perform the bandwidth management method according to any one of claims 9 to 15.

Citation Information

Patent Citations

  • Selective image loading in mobile browsers

    US20130151937A1