Traffic forwarding method and electronic device

By running a local proxy server on an electronic device and using the proxy automatic configuration file, the problem of extending the traffic of network proxy to the bound device is solved, and simplified monitoring of traffic and security improvement is achieved.

CN119422366APending Publication Date: 2025-02-11SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380049470.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-03-10
Filing Date
2023-05-15
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

The prior art is difficult to effectively expand the traffic from network agents to bound devices or other supporting devices, resulting in challenges in managing and monitoring the traffic of multiple electronic devices of users.

Method used

By running the first and second local proxy servers on the electronic device, traffic from the bound device and bound device is received and forwarded, respectively, and traffic forwarded using proxy automatic configuration (PAC) files, ultimately forwarding the traffic to the external Proxy server.

Benefits of technology

This enables traffic extension to the bound device, simplifies traffic monitoring and auditing, reduces deployment and monitoring costs, and improves security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119422366A_ABST
    Figure CN119422366A_ABST
Patent Text Reader

Abstract

A method includes obtaining, at an electronic device, first and second proxy auto configuration (PAC) files. The method includes running, by the electronic device, a first local proxy server configured to receive a first traffic forwarded by the electronic device and a second traffic forwarded by at least one bound device. The first local proxy server is configured to forward at least one of the first traffic and the second traffic based on the first PAC file. Comprising the steps that the electronic device runs a second local proxy server, and the second local proxy server is configured to forward the second traffic from the bound device to the first local proxy server based on a second PAC file; receiving, at the first local proxy server, the second traffic from the bound device from the second local proxy server; and forwarding the second traffic from the second electronic device to an external proxy server using the first local proxy server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to communication and network systems. More specifically, the present disclosure relates to extending a network proxy to traffic of a bound device or other supporting device. Background Art

[0002] Users often have multiple personal electronic devices, such as smart phones, smart watches or other wearable devices, laptop computers, and tablet computers. Typically, one or more of the user's electronic devices cannot communicate over a cellular network or other communication network. For example, although the user's smart phone can communicate over a cellular network by design, the user's smart watch or other wearable device, laptop computer, tablet computer, or other electronic device may lack this capability. In these or other cases, a user may often "bind" his or her smart watch or other wearable device, laptop computer, tablet computer, or other electronic device to the user's smart phone, thereby allowing the user's other devices to communicate over a cellular network via the user's smart phone. Summary of the invention

[0003] The present disclosure relates to extending a network proxy to traffic of a bound device or other associated devices.

[0004] In one embodiment, a method includes obtaining a first proxy auto-configuration (PAC) file at an electronic device. The method also includes running a first local proxy server by the electronic device, the first local proxy server being configured to receive a first flow from the electronic device and a second flow from at least one bound device. The first local proxy server is configured to forward at least one of the first flow and the second flow based on the first PAC file. The method also includes running a second local proxy server by the electronic device, the second local proxy server being configured to forward the second flow from the at least one bound device to the first local proxy server. The method also includes receiving the second flow from the at least one bound device from the second local proxy server at the first local proxy server. In addition, the method includes forwarding the second flow from the at least one bound device to an external proxy server using the first local proxy server.

[0005] In one embodiment, an electronic device includes at least one communication interface configured to communicate with at least one bound device. The electronic device also includes at least one processing device configured to obtain a first PAC file. The at least one processing device is also configured to run a first local proxy server, which is configured to receive a first flow from the electronic device and a second flow from the at least one bound device. The first local proxy server is configured to forward at least one of the first flow and the second flow based on the first PAC file. The at least one processing device is also configured to run a second local proxy server, which is configured to forward the second flow from the at least one bound device to the first local proxy server. The at least one processing device is also configured to receive the second flow from the at least one bound device from the second local proxy server at the first local proxy server. In addition, the at least one processing device is configured to forward the second flow from the at least one bound device to an external proxy server using the first local proxy server.

[0006] In one embodiment, a non-transitory machine-readable medium includes instructions that, when executed, cause at least one processor of an electronic device to obtain a first PAC file. The non-transitory machine-readable medium also includes instructions that, when executed, cause the at least one processor to run a first local proxy server, the first local proxy server being configured to receive a first flow from the electronic device and a second flow from at least one bound device. The first local proxy server is configured to forward at least one of the first flow and the second flow based on the first PAC file. The non-transitory machine-readable medium also includes instructions that, when executed, cause the at least one processor to run a second local proxy server, the second local proxy server being configured to forward the second flow from the at least one bound device to the first local proxy server. The non-transitory machine-readable medium also includes instructions that, when executed, cause the at least one processor to receive the second flow from the at least one bound device from the second local proxy server at the first local proxy server. In addition, the non-transitory machine-readable medium includes instructions that, when executed, cause the at least one processor to forward the second flow from the at least one bound device to an external proxy server using the first local proxy server.

[0007] Other technical features may be apparent to those skilled in the art from the following drawings, descriptions and claims.

[0008] It is advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms "send," "receive," and "communicate," and their derivatives, include both direct and indirect communications. The terms "include" and "comprises," and their derivatives, mean including, but not limited to. The term "or" is inclusive, meaning and / or. The phrase "associated with," and its derivatives, means including, included in, interconnected with, containing, contained within, connected to or connected with, coupled to or coupled with, communicable with, cooperating with, intertwined, juxtaposed, proximate to, bound to or bound with, having, having the attributes of, having a relationship with, and the like.

[0009] In addition, the various functions described below can be implemented or supported by one or more computer programs, each of which is formed by a computer-readable program code and embodied in a computer-readable medium. The terms "application" and "program" refer to one or more computer programs, software components, instruction sets, processes, functions, objects, classes, instances, related data or a part thereof suitable for being implemented in a suitable computer-readable program code. The phrase "computer-readable program code" includes any type of computer code, including source code, object code and executable code. The phrase "computer-readable medium" includes any type of medium that can be accessed by a computer, such as a read-only memory (ROM), a random access memory (RAM), a hard drive, a compact disc (CD), a digital video disc (DVD) or any other type of memory. "Non-transitory" computer-readable media excludes wired, wireless, optical or other communication links that transmit temporary electrical signals or other signals. Non-transitory computer-readable media include media that can permanently store data and media that can store data and rewrite it later, such as rewritable optical discs or erasable storage devices.

[0010] As used herein, terms and phrases such as "having", "may have", "include" or "may include" features (such as quantity, function, operation or components such as parts) indicate the presence of the features and do not exclude the presence of other features. In addition, as used herein, the phrases "A or B", "at least one of A and / or B" or "one or more of A and / or B" may include all possible combinations of A and B. For example, "A or B", "at least one of A and B" and "at least one of A or B" may indicate all of the following: (1) including at least one A, (2) including at least one B, or (3) including at least one A and at least one B. In addition, as used herein, the terms "first" and "second" may modify various components regardless of importance and do not limit the components. These terms are only used to distinguish one component from another. For example, a first user device and a second user device may indicate user devices that are different from each other, regardless of the order or importance of the devices. Without departing from the scope of the present disclosure, a first component may be represented as a second component, and vice versa.

[0011] It will be understood that when an element (such as a first element) is referred to as being "coupled" / "coupled to" another element (such as a second element) or "connected" / "connected to" another element (such as a second element) (operably or communicatively), it may be coupled or connected / connected to the other element directly or via a third element. Conversely, it will be understood that when an element (such as a first element) is referred to as being "directly coupled" / "directly coupled to" another element (such as a second element) or "directly connected" / "directly connected to" another element (such as a second element), no other element (such as a third element) is interposed between the element and the other element.

[0012] As used herein, the phrase "configured (or set) to" may be used interchangeably with phrases such as "suitable for", "capable of", "designed to", "suitable for", "manufactured to", or "capable of", depending on the circumstances. The phrase "configured (or set) to" does not essentially mean "specially designed in hardware to". On the contrary, the phrase "configured to" may mean that a device may perform an operation together with another device or component. For example, the phrase "a processor configured (or set) to perform A, B, and C" may mean a general-purpose processor (such as a CPU or an application processor) that can perform operations through one or more software programs stored in a memory device, or a dedicated processor (such as an embedded processor) for performing operations.

[0013] The terms and phrases used herein are only provided for describing some embodiments of the present disclosure, without limiting the scope of other embodiments of the present disclosure.It should be understood that, unless the context clearly stipulates otherwise, the singular form includes plural references.All terms and phrases including technical and scientific terms and phrases used herein have the same meaning as the meaning generally understood by those of ordinary skill in the art to which the embodiments of the present disclosure belong.It will be further understood that terms and phrases (such as those defined in a common dictionary) should be interpreted as having the same meaning as the meaning in the context of the relevant art, and will not be interpreted with an idealized or overly formal meaning, unless clearly defined in this manner.In some cases, the terms and phrases defined herein may be interpreted as excluding embodiments of the present disclosure.

[0014] Examples of "electronic devices" according to embodiments of the present disclosure may include at least one of the following: a smart phone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader, a desktop PC, a laptop computer, a netbook computer, a workstation, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, a mobile medical device, a camera, or a wearable device (such as smart glasses, a head mounted device (HMD), electronic clothing, an electronic bracelet, an electronic necklace, an electronic accessory, an electronic tattoo, a smart mirror, or a smart watch). Other examples of electronic devices include smart home appliances. Examples of smart home appliances may include at least one of the following: a television, a digital video disc (DVD) player, an audio player, a refrigerator, an air conditioner, a vacuum cleaner, an oven, a microwave, a washing machine, a dryer, an air purifier, a set-top box, a home automation control panel, a security control panel, a TV box (such as SAMSUNG HOMESYNC, APPLE TV, or GOOGLE TV), a smart speaker or a speaker with an integrated digital assistant (such as SAMSUNG GALAXY HOME, APPLE HOMEPOD, or AMAZONECHO), a game console (such as XBOX, PLAYSTATION, or NINTENDO), an electronic dictionary, an electronic key, a camera, or an electronic photo frame. Other examples of electronic devices include various medical devices (such as various portable medical measuring devices (such as blood sugar measuring devices, heart rate measuring devices, or body temperature measuring devices), magnetic resonance angiography (MRA) devices, magnetic resonance imaging (MRI) devices, computed tomography (CT) devices, imaging devices, or ultrasound devices), navigation devices, global positioning system (GPS) receivers, event data recorders (EDR), flight data recorders (FDR), car infotainment devices, navigation electronic devices (such as navigation navigation devices or gyrocompasses), avionics equipment, security devices, vehicle head units, industrial or domestic robots, automatic teller machines (ATMs), point of sale (POS) devices, or Internet of Things (IoT) devices (such as light bulbs, various sensors, electric or gas meters, sprinklers, fire alarms, thermostats, street lights, ovens, fitness equipment, hot water tanks, heaters, or boilers). Other examples of electronic devices include at least a part of a piece of furniture or a building / structure, an electronic board, an electronic signature receiving device, a projector, or various measuring devices (such as devices for measuring water, electricity, gas, or electromagnetic waves). Note that according to various embodiments of the present disclosure, the electronic device may be one or a combination of the devices listed above. According to some embodiments of the present disclosure, the electronic device may be a flexible electronic device. The electronic devices disclosed herein are not limited to the devices listed above, and may include new electronic devices according to the development of technology.

[0015] In the following description, an electronic device is described with reference to the accompanying drawings according to various embodiments of the present disclosure. As used herein, the term "user" may refer to a person using an electronic device or another device (such as an artificial intelligence electronic device).

[0016] Definitions for other specific words and phrases may be provided throughout this patent document. Those of ordinary skill in the art should understand that in many, if not most instances, such definitions apply to prior, as well as future uses of such defined words and phrases.

[0017] The description in this application should not be interpreted as any specific element, step or function is a necessary element that must be included in the scope of the claims. The scope of the patent subject matter is limited only by the claims. Applicants understand that any other terms including but not limited to "mechanical structure", "module", "device", "unit", "component", "element", "member", "equipment", "machine", "system", "processor" or "controller" used in the claims refer to structures known to those skilled in the relevant art. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, wherein like reference numerals represent like parts:

[0019] Figure 1 shows an example network configuration including electronic devices according to the present disclosure;

[0020] Figure 2 An example process for extending a network proxy to traffic of a bound device or other companion device according to the present disclosure is shown;

[0021] Figure 3 An example signaling diagram illustrating a method for extending a network proxy to traffic of a bound device or other companion device according to the present disclosure; and

[0022] Figure 4 An example method for extending a network proxy to traffic of a bound device or other companion devices according to the present disclosure is shown.

[0023] Figure 5 An example method for extending a network proxy to a second traffic of at least one bound device according to the present disclosure is shown. DETAILED DESCRIPTION

[0024] The following discussion is described with reference to the accompanying drawings. Figures 1 to 5As well as various embodiments of the present disclosure. However, it should be understood that the present disclosure is not limited to these embodiments, and all changes and / or equivalents or substitutes thereof also belong to the scope of the present disclosure. Throughout the specification and the drawings, the same or similar reference numerals may be used to refer to the same or similar elements.

[0025] As described above, users typically have multiple personal electronic devices, such as smart phones, smart watches or other wearable devices, laptop computers, and tablet computers. Typically, one or more of the user's electronic devices cannot communicate via a cellular network or other communication network. For example, although the user's smart phone can communicate via a cellular network by design, the user's smart watch or other wearable device, laptop computer, tablet computer or other electronic device may lack this capability. In these or other cases, a user may typically "bind" his or her smart watch or other wearable device, laptop computer, tablet computer or other electronic device to the user's smart phone, thereby allowing the user's other devices to communicate via the user's smart phone via the cellular network.

[0026] The ability to bind electronic devices can be very convenient for end users, but it may cause many problems in enterprise settings or other settings that focus on security issues. For example, an employee may routinely use his or her smart phone to access the electronic resources of his or her employer. In some cases, the user's smart phone may actually be owned by the user's employer and issued to the user. In order to prevent malware, illegal acquisition and other network threats, employers often limit or control the ability of the user's smart phone, such as when accessing the employer's electronic resources. It is also becoming more and more common for users to have laptops, smart watches or other wearable devices, or other electronic devices issued by the enterprise. Although the user may wish to bind his or her other electronic devices to the user's smart phone, this makes it very challenging for the enterprise to support network configuration, management and monitoring / audit of the traffic of each electronic device and generally ensure that all electronic devices of the user are properly operated and comply with all security policies or other policies. In some cases, for example, management users or other personnel may need to configure the proxy settings or other settings of each electronic device used by each user of the enterprise.

[0027] The present disclosure provides a technology for extending a network proxy of a device (such as a binding device) to the traffic of at least one other device (such as at least one bound or other supporting device). As described in more detail below, the binding device may obtain a first proxy automatic configuration (PAC) file. The binding device may also run a first local proxy server and a second local proxy server. The first local proxy server may be configured to receive traffic from the binding device and the bound device, and the first local proxy server may be configured to forward the traffic based on the first PAC file. The second local proxy server may be configured to forward the traffic from the bound device to the first local proxy server, wherein the bound device provides the traffic to the second local proxy server based on the second PAC file. The first local proxy server may receive traffic from the bound device via the second local proxy server, and the first local proxy server may forward the traffic from the bound device to an external proxy server.

[0028] In this way, the network proxy configuration of one device (such as a smart phone) can be utilized or extended to one or more other devices (such as smart watches or other wearable devices, laptops, tablet computers, or Internet of Things or "IoT" devices). Since there is no need for an administrator or other personnel to push the network proxy configuration to all of the binding devices and bound devices separately, the network proxy configuration can be more easily extended to other devices. On the contrary, the network proxy configuration may only need to be provided to the binding device. In addition, this method allows simplified monitoring and auditing of network traffic of the binding device and the bound device, because all traffic for each user can have a single entry endpoint (binding device) or some other reduced number of entry points. In addition, this approach can help reduce deployment and monitoring costs. In addition, various functions or features can be combined to provide even better security, such as when the virtual private network (VPN)-based agent of the binding device can be extended and used to transmit the traffic of the bound device.

[0029] Note that although it may be generally assumed that a user's smartphone is used as a binding device and one or more of the user's other electronic devices are used as one or more bound devices, this is not necessarily the case. Any suitable electronic device may be used as a binding device, and any suitable electronic device may be used as a bound device. Examples of both binding devices and bound devices may include smartphones, smart watches or other wearable devices, laptops, tablet computers, IoT devices, televisions, or other portable or fixed electronic devices as defined above. It should also be noted that the binding device may be used with any appropriate number of bound devices, and the number of bound devices used with the binding device may vary over time. In the following, an electronic device may be a binding device.

[0030] Figure 1 An example network configuration 100 including electronic devices according to the present disclosure is shown. Figure 1 The embodiment of the network configuration 100 shown in FIG. 1 is for illustration only. Other embodiments of the network configuration 100 may be used without departing from the scope of the present disclosure.

[0031] According to an embodiment of the present disclosure, an electronic device 101 is included in a network configuration 100. The electronic device 101 may include at least one of a bus 110, a processor 120, a memory 130, an input / output (I / O) interface 150, a display 160, a communication interface 170, or a sensor 180. In some embodiments, the electronic device 101 may exclude at least one of these components, or may add at least one other component. The bus 110 includes circuits for connecting components 120-180 to each other and for transmitting communications (such as control messages and / or data) between components.

[0032] The processor 120 includes one or more processing devices, such as one or more microprocessors, microcontrollers, digital signal processors (DSPs), application specific integrated circuits (ASICs), or field programmable gate arrays (FPGAs). In some embodiments, the processor 120 includes one or more of a central processing unit (CPU), an application processor (AP), a communication processor (CP), or a graphics processing unit (GPU). The processor 120 is capable of controlling at least one of the other components of the electronic device 101 and / or performing operations or data processing related to communication or other functions. As described above, the processor 120 can be used to perform various functions related to extending a network proxy (such as a hypertext transfer protocol (HTTP) proxy or an HTTP secure (HTTPS) proxy) used by the electronic device 101 to the traffic of at least one bound device or other supporting device.

[0033] The memory 130 may include volatile and / or non-volatile memory. For example, the memory 130 may store commands or data related to at least one other component of the electronic device 101. According to an embodiment of the present disclosure, the memory 130 may store software and / or programs 140. The programs 140 include, for example, a kernel 141, middleware 143, an application programming interface (API), and / or an application program (or "application") 147. At least a portion of the kernel 141, the middleware 143, or the API 145 may represent an operating system (OS).

[0034] The kernel 141 may control or manage system resources (such as bus 110, processor 120, or memory 130) used to perform operations or functions implemented in other programs (such as middleware 143, API 145, or application 147). The kernel 141 provides an interface that allows the middleware 143, API 145, or application 147 to access the various components of the electronic device 101 to control or manage system resources. The application 147 may include one or more applications, wherein the one or more applications are used to extend the network agent used by the electronic device 101 to manage the traffic of at least one bound device or other supporting device. These functions may be performed by a single application or by multiple applications, wherein each application performs one or more of these functions. For example, the middleware 143 may act as a relay that allows the API 145 or application 147 to communicate data with the kernel 141. Multiple applications 147 may be provided. The middleware 143 is capable of controlling work requests received from the applications 147, such as by assigning a priority of using system resources (such as the bus 110, the processor 120, or the memory 130) of the electronic device 101 to at least one of the plurality of applications 147. The API 145 is an interface that allows the application 147 to control functions provided by the kernel 141 or the middleware 143. For example, the API 145 includes at least one interface or function (such as a command) for archive control, window control, image processing, or text control.

[0035] The I / O interface 150 may serve as an interface capable of transmitting, for example, instructions or data input from a user or other external devices to other components of the electronic device 101. The I / O interface 150 may also output commands or data received from other components of the electronic device 101 to the user or other external devices.

[0036] The display 160 includes, for example, a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a quantum dot light emitting diode (QLED) display, a microelectromechanical system (MEMS) display, or an electronic paper display. The display 160 may also be a depth perception display, such as a multi-focal display. The display 160 is capable of displaying, for example, various contents (such as text, images, videos, icons, or symbols) to the user. The display 160 may include a touch screen and may receive, for example, a touch, gesture, proximity, or hovering input using an electronic pen or a body part of the user.

[0037] The communication interface 170 can, for example, establish communication between the electronic device 101 and an external electronic device (such as the electronic device 102, the bound device 104, or the server 106). For example, the communication interface 170 can be connected to the network 162 or 164 via wireless or wired communication to communicate with the external electronic device. The communication interface 170 can be a wired or wireless transceiver or any other component for sending and receiving signals (such as images).

[0038] The electronic device 101 also includes one or more sensors 180, wherein the one or more sensors 180 can measure physical quantities or detect the activation state of the electronic device 101, and convert the measured or detected information into electrical signals. For example, one or more sensors 180 may include one or more cameras or other imaging sensors, which can be used to capture images of scenes. One or more sensors 180 may also include one or more buttons for touch input, one or more microphones, gesture sensors, gyroscopes or gyro sensors, air pressure sensors, magnetic sensors or magnetometers, acceleration sensors or accelerometers, grip sensors, proximity sensors, color sensors (such as RGB sensors), biophysical sensors, temperature sensors, humidity sensors, illumination sensors, ultraviolet (UV) sensors, electromyography (EMG) sensors, electroencephalography (EEG) sensors, electrocardiography (ECG) sensors, infrared (IR) sensors, ultrasonic sensors, iris sensors, or fingerprint sensors. One or more sensors 180 may also include an inertial measurement unit, which may include one or more accelerometers, gyroscopes, and other components. In addition, one or more sensors 180 may include a control circuit for controlling at least one of the sensors included here. Any of these sensors 180 may be located within the electronic device 101 .

[0039] In some embodiments, one or more of the external electronic devices 102, 104 may be bound to the electronic device 101 or otherwise communicate with the electronic device 101. As described below, the electronic device 101 may be used to extend the network proxy used by the electronic device 101 to the traffic of the external electronic devices 102, 104. Among other things, this may allow the external electronic devices 102, 104 to communicate with one or more external components (such as an external proxy server) using the network proxy of the electronic device 101. In this article, the external electronic devices 102, 104 may include binding devices and bound devices.

[0040] In some implementations, the first external electronic device 102 or the second external electronic device 104 may be a wearable device or a wearable device (such as an HMD) on which an electronic device may be mounted. When the electronic device 101 is mounted in the electronic device 102 (such as an HMD), the electronic device 101 may communicate with the electronic device 102 through the communication interface 170. The electronic device 101 may be directly connected to the electronic device 102 to communicate with the electronic device 102 without involving a separate network. The electronic device 101 may also be an augmented reality wearable device including one or more cameras, such as glasses.

[0041] Wireless communication can use, for example, long term evolution (LTE), long term evolution-advanced (LTE-A), 5th generation wireless system (5G), millimeter or 60 GHz wireless communication, wireless USB, code division multiple access (CDMA), wideband code division multiple access (WCDMA), universal mobile telecommunications system (UMTS), wireless broadband (WiBro) or global system for mobile communications (GSM) as at least one of the cellular communication protocol. Wired connection can include, for example, at least one of universal serial bus (USB), high-definition multimedia interface (HDMI), recommended standard 232 (RS-232) or plain old telephone service (POTS). Network 162 includes at least one communication network, such as a computer network (such as a local area network (LAN) or a wide area network (WAN)), the Internet or a telephone network.

[0042] The first external electronic device 102 and the second external electronic device 104 and the server 106 may each be a device of the same or different type as the electronic device 101. According to certain embodiments of the present disclosure, the server 106 includes a group of one or more servers. In addition, according to certain embodiments of the present disclosure, all operations or some operations performed in the electronic device 101 may be performed in another one or more other electronic devices (such as the electronic devices 102 and 104 or the server 106). In addition, according to certain embodiments of the present disclosure, when the electronic device 101 should automatically perform some functions or services or perform some functions or services as requested, the electronic device 101 may request another device (such as the electronic devices 102 and 104 or the server 106) to perform at least some functions associated with it, rather than performing the functions or services alone or additionally. Another electronic device (such as the electronic devices 102 and 104 or the server 106) is capable of performing the requested functions or additional functions and transmitting the execution results to the electronic device 101. The electronic device 101 may provide the requested functions or services by processing the received results as is or additionally. To this end, for example, cloud computing, distributed computing, or client-server computing techniques may be used. Figure 1The electronic device 101 is shown to include a communication interface 170 to communicate with an external electronic device 104 or a server 106 via a network 162 , but according to some embodiments of the present disclosure, the electronic device 101 may operate independently without a separate communication function.

[0043] The server 106 may include the same or similar components (or a suitable subset thereof) as the electronic device 101. The server 106 may support driving the electronic device 101 by performing at least one of the operations (or functions) implemented in the electronic device 101. For example, the server 106 may include a processing module or a processor that may support the processor 120 implemented in the electronic device 101.

[0044] although Figure 1 An example of a network configuration including the electronic device 101 is shown, but the Figure 1 Various changes may be made. For example, network configuration 100 may include any number of each component in any suitable arrangement. In general, computing and communication systems have a wide variety of configurations, and Figure 1 The scope of the present disclosure is not limited to any particular configuration. Figure 1 One operating environment is shown in which the various features disclosed in this patent document may be used, but these features may be used in any other suitable system.

[0045] Figure 2 An example process 200 for extending a network proxy to traffic of a bound device or other companion device according to the present disclosure is shown. For example, Figure 2 The processing 200 can be Figure 1 , such as when the electronic device 101 is used as a binding device and one or more of the electronic devices 102, 104 are used as at least one bound device. Figure 2 Process 200 shown in FIG. 2 may be used with any other suitable apparatus and in any other suitable system.

[0046] like Figure 2 As shown in FIG. 2 , process 200 generally allows a network proxy used by an electronic device 202 to be extended for use with traffic associated with one or more bound devices 204, 206. In some cases, electronic device 202 may represent Figure 1 The electronic device 101 in the embodiment, and the bound devices 204 and 206 may represent Figure 1 104. In this particular example, the electronic device 202 represents a smart phone, and the bound devices 204, 206 represent a smart watch and a laptop computer. However, as mentioned above, each of the binding device 202 and the bound devices 204, 206 can represent any suitable electronic device.

[0047] At least one user 208 interacts with the electronic device 202 to configure one or more network proxies of the electronic device 202. For example, the user 208 may enable the binding function of the electronic device 202, enable and configure the proxy settings (such as HTTP or HTTPS proxy settings) on the electronic device 202, and enable the local proxy server on the electronic device 202. The local proxy server is described below and allows one or more bound devices 204, 206 to communicate via the electronic device 202 if the proxy settings of the electronic device 202 are supported. At least one user 208 here may represent at least one administrative user or other person who is authorized to control the network proxy of the electronic device (including the electronic device 202). As a specific example, at least one user 208 may represent one or more information technology (IT) administrators of an enterprise.

[0048] When the user wishes the bound devices 204, 206 to communicate via the electronic device 202, the electronic device 202 may interact with the bound devices 204, 206 to support extending the network proxy of the electronic device to the traffic associated with the bound devices 204, 206. Figure 2 As shown, some of these interactions may include the electronic device 202 enabling the binding function of the bound devices 204, 206 and passing the proxy settings to the bound devices 204, 206. Data traffic may then flow to and from the bound devices 204, 206, and the electronic device 202 may operate to ensure that data traffic is sent to and received from the bound devices 204, 206 according to the proxy settings of the electronic device 202. Effectively, this approach allows data traffic associated with the bound devices 204, 206 to flow through the network proxy configured on the electronic device 202.

[0049] As in Figure 2 As can be seen in FIG. 1 , the electronic device 202 is capable of transmitting data traffic (its own data traffic and data traffic of bound devices 204, 206) to an external proxy server 210. The ability to transmit data traffic between the electronic device 202 and the external proxy server 210 is controlled by the proxy configuration of the electronic device 202. The external proxy server 210 represents a proxy server that is external to the binding device 202 and the bound devices 204, 206 and acts as a proxy for the electronic device 202. The external proxy server 210 is capable of routing data traffic to and receiving data traffic from one or more destinations 212, wherein the one or more destinations 212 represent one or more hosts or other components that interact with at least one of the devices 202, 204, 206.

[0050] As shown in this example, bound devices 204, 206 can interact with external proxy servers 210 and one or more destinations 212 via electronic device 202. As described below, electronic device 202 supports the use of multiple local proxy servers and other functions, which enable the network proxy configuration of electronic device 202 to be extended to the data traffic of bound devices 204, 206. This allows bound devices 204, 206 to interact with external proxy servers 210 and one or more destinations 212 according to the network proxy configuration of electronic device 202. In addition, as described in Figure 2 As can be seen in FIG. 2 , user 208 may not need to provide any type of proxy configuration for bound devices 204, 206 (this can still occur if desired, but is not necessarily required). Instead, user 208 is able to configure a proxy on electronic device 202, and the same proxy configuration can be extended to support bound devices 204, 206. Therefore, all network traffic associated with bound devices 204, 206 (such as HTTP or HTTPS traffic) can pass through electronic device 202, and electronic device 202 can effectively act as a local proxy server and forward traffic to external proxy server 210. This can help greatly simplify the management of electronic devices such as in various enterprises (such as companies, government entities, or other groups with a large number of users and electronic devices).

[0051] In some cases, the electronic device 202 may support the use of one or more VPNs, in which case the electronic device 202 may support a VPN agent. In these cases, for example, the electronic device 202 may establish a VPN-based connection with the external proxy server 210, and the VPN-based connection may be supported by the VPN agent of the electronic device 202. In these embodiments, the VPN agent used by the electronic device 202 may be extended to traffic associated with the bound devices 204, 206 using the above-described methods. For example, the electronic device 202 may use a VPN agent supported by the electronic device 202 to route traffic associated with the bound devices 204, 206. This may improve security and allow the use of the VPN agent of the electronic device 202 to obtain traffic associated with the bound devices 204, 206.

[0052] It should be noted that Figure 2 Shown or referred to in Figure 2 The described functions may be implemented in any suitable manner in the electronic device 101, 102, 104 or other electronic device. For example, in some embodiments, one or more software applications or other software instructions executed by the processor 120 of the electronic device 101, 102, 104 or other electronic device may be used to implement or support the Figure 2 Shown or referred to in Figure 2In other embodiments, dedicated hardware components may be used to implement or support at least some of the functions described in Figure 2 Shown or referred to in Figure 2 In general, any suitable hardware or any suitable combination of hardware and software / firmware instructions may be used to implement at least some of the functions described. Figure 2 Shown or referred to in Figure 2 Describes the functionality.

[0053] Although Figure 2 An example of a process 200 for extending a network proxy to traffic of a bound device or other companion device is shown, but may be used for Figure 2 Various changes may be made. For example, the electronic device 202 may be used with any suitable number of bound devices. In addition, the electronic device 202 may support any suitable number of network proxy configurations capable of communicating with any suitable number of external proxy servers 210.

[0054] Figure 3 An example signaling diagram 300 is shown for extending a network proxy to traffic of a bound device or other companion device according to the present disclosure. For ease of explanation, Figure 3 The signaling diagram 300 is described as involving Figure 2 The various elements 202-212 shown and described above in the drawings and these elements 202-212 may be used in conjunction with Figure 1 The present invention is associated with network configuration 100. However, the same or similar types of signaling may be used with other suitable elements and in other suitable systems.

[0055] like Figure 3 As shown in FIG. 3 , a signaling diagram 300 identifies various interactions involving an electronic device 202, a bound device 204 or 206, a user 208, an external proxy server 210, and at least one destination 212. In this example, the electronic device 202 is shown to include a framework 302, a first local proxy server 304, and a second local proxy server 306. The framework 302 generally represents logic executed or otherwise supported by the electronic device 202 that controls the use of a network proxy and the extension of the network proxy to one or more bound devices 204, 206. For example, the framework 302 can be used to initiate communications involving one or more bound devices 204, 206, and can initiate the operation of the first local proxy server 304 and the second local proxy server 306.

[0056] The first local proxy server 304 and the second local proxy server 306 represent proxy servers run by the electronic device 202 itself (that's why they are called "local" proxy servers). The first local proxy server 304 is configured to support data traffic exchange with the external proxy server 210. For example, the data traffic of the electronic device 202 itself and the data traffic of each bound device 204, 206 can be routed to and from the external proxy server 210 through the first local proxy server 304. The first local proxy server 304 can use a first proxy automatic configuration (PAC) file, wherein the first PAC file can define (among other things) how the first local proxy server 304 forwards data traffic from the electronic device 202 and any bound devices 204, 206 to the external proxy server 210. In some cases, the electronic device 202 can run multiple first local proxy servers 304, which can enable the electronic device 202 to communicate with multiple external proxy servers 210.

[0057] The second local proxy server 306 is configured to support data traffic exchange between the first local proxy server 304 and the bound devices 204, 206. For example, data traffic can be routed between the bound devices 204, 206 and the first local proxy server 304 through the second local proxy server 306. As described below, the second local proxy server 306 can be associated with a second PAC file, which can be provided to the bound devices 204, 206 (among other things) for interacting with the electronic device 202. From the perspective of the bound devices 204, 206, the second PAC file can make it appear as if the bound devices 204, 206 are communicating with the actual proxy server. In fact, the bound devices 204, 206 are actually communicating with the electronic device 202. Here, the second PAC file causes the bound devices 204, 206 to forward their data traffic to the second local proxy server 306, which then forwards the traffic to the first local proxy server 304. In some embodiments, there may be a separate second local proxy server 306 for each bound device 204 , 206 , and those second local proxy servers 306 may communicate with the same first local proxy server 304 or different first local proxy servers 304 .

[0058] like Figure 3As shown in , the user 208 may use his or her computer or other electronic device to send an enablement instruction to the electronic device 202 during operation 308. The enablement instruction represents a command or other instruction for enabling one or more network proxy configurations on the electronic device 202. The enablement instruction may be provided in any suitable manner, such as during an initial configuration of the electronic device 202 or during a subsequent reconfiguration of the electronic device 202. The enablement instruction may be provided as a stand-alone instruction or as part of a broader set of configuration parameters.

[0059] During operation 310, the framework 302 may receive an enablement instruction and initiate downloading of a first PAC file. For example, the enablement instruction from the user device or a subsequent communication may include a uniform resource locator (URL) or other address of the first PAC file, and the framework 302 may cause the electronic device 202 to download the first PAC file from the network address. During operation 312, the framework 302 initiates the operation of the first local proxy server 304. For example, the framework 302 may cause the electronic device 202 to internally launch the first local proxy server 304, wherein the first local proxy server 304 may act as a proxy, and one, some, or all applications in the electronic device 202 may forward their network traffic to the first local proxy server 304. The first local proxy server 304 makes a decision about where to forward the traffic based on the first PAC file. In some cases, for example, the first PAC file may include content having the following form.

[0060] function FindProxyForURL(url,host){

[0061] if(dnsDomainIs(host,“intranet1.com”)){

[0062] return "DIRECT";

[0063] }

[0064] if(dnsDomainIs(host,"intranet2.com")){

[0065] return "PROXY proxy.intranet1.com:8080";

[0066] }

[0067] return "NULL";

[0068] }

[0069] Here, if the host belongs to the first domain name (identified as "intranet1.com"), the first local proxy server 304 will use the first PAC file to route traffic directly to the host (identified by the URL). If the host belongs to the second domain name (identified as "intranet2.com"), the first local proxy server 304 will also use the first PAC file to indirectly route traffic using a proxy connection through the proxy's port 8080. Note that the first PAC file is for illustration only and can be easily changed based on specific circumstances.

[0070] During operation 314, user 208 may also use his or her computer or other electronic device to send a second enabling instruction to electronic device 202. The second enabling instruction represents a command or other instruction for enabling the binding function of electronic device 202. In some cases, electronic device 202 may support the ability to bind in different ways, such as via WiFi connection, Bluetooth connection, Universal Serial Bus (USB) connection or other or additional connection (or a combination thereof). The second enabling instruction may generally enable binding in any way or identify one or more permissible types of binding. Again, the second enabling instruction may be provided in any suitable manner and may be provided as a standalone instruction or as part of a wider set of configuration parameters.

[0071] During operation 316, the framework 302 may receive the second activation instruction and initiate the operation of the second local proxy server 306. For example, the framework 302 may enable the electronic device 202 to internally launch at least one instance of the second local proxy server 306, wherein each of the at least one instance will act as a proxy between the bound device 204, 206 and the first local proxy server 304. The second local proxy server 306 may include or be associated with a second PAC file, which will be provided to the bound device 204, 206 for communication with the second local proxy server 306. For example, the second PAC file may enable the bound device 204, 206 to provide its network traffic to the electronic device 202, and any application executed in the bound device 204, 206 may view the electronic device 202 as an actual proxy server. In some cases, for example, the second PAC file may include content having the following form.

[0072] function FindProxyForURL(url,host){

[0073] return "PROXY$ip-address_tethering_device:$local_port_proxy_server_2"

[0074] }

[0075] This PAC file (when provided to and used by the tethered device 204, 206) will cause the tethered device 204, 206 to route all of its network traffic to the second local proxy server 306 on the electronic device 202. Here, the expression "$ip-address_tethering_device" represents the Internet Protocol (IP) or other address of the electronic device 202, and the expression "$local_port_proxy_server_2" represents the port number used by or associated with the second local proxy server 306 in the electronic device 202. Note that the second PAC file may be obtained in any suitable manner, such as when the second PAC file is downloaded (possibly along with the first PAC file) or generated by the framework 302 or the second local proxy server 306.

[0076] During operation 318, the framework 302 creates a network interface for the electronic device 202. For example, the framework 302 may create a virtual network interface for the electronic device 202 that will function like an access point, where the access point will be visible to the bound devices 204, 206. During operation 320, when the bound device 204, 206 actually attempts to link to the electronic device 202, the framework 302 also initiates the creation of a network interface on the bound device 204, 206. For example, the framework 302 may initiate the creation of a virtual network interface in the bound device 204, 206. During this process, the framework 302 may also assign a network address (such as an IP or other address) to the bound device 204, 206 or a virtual network interface of the bound device 204, 206. In some cases, for example, the framework 302 may use or support the Dynamic Host Configuration Protocol (DHCP) to assign network addresses to the bound devices. As part of the network address assignment or at another time, the framework 302 may pass a URL or other address of a second PAC file of or associated with the second local proxy server 306. This allows the bound device 204, 206 to download the second PAC file using its virtual network interface. As described above, the second PAC file will cause the bound device 204, 206 to route its data traffic to the second local proxy server 306 of the electronic device 202. From the perspective of the bound device 204, 206, the electronic device 202 will appear to be the actual proxy server.

[0077] At this point, the bound devices 204, 206 may communicate via the electronic device 202, and the network proxy of the electronic device 202 is extended to the traffic of the bound devices 204, 206. For example, during operation 322, the bound devices 204, 206 may send traffic to the second local proxy server 306, which is supported by the bound devices 204, 206 using the second PAC file. During operation 324, the second local proxy server 306 forwards the traffic to the first local proxy server 304, and during operation 326, the first local proxy server 304 forwards the traffic to the external proxy server 210. During operation 328, the external proxy server 210 forwards the traffic to one or more hosts at one or more destinations 212. This may occur for any amount of traffic sent by the bound devices 204, 206 to the electronic device 202, and the traffic may be directed to a single host at a single destination 212 or to multiple hosts at multiple destinations 212. Note that traffic may also flow through the electronic device 202 from one or more hosts at one or more destinations to the bound devices 204 , 206 .

[0078] As described above, in some cases, the electronic device 202 may support the use of a VPN network proxy. Figure 3 In the embodiment, the first local proxy server 304 can be used as a VPN proxy (or a standalone VPN proxy can be provided), so that traffic to and from the electronic device 202 is routed through the external VPN server. The external VPN server can route traffic to and from the external proxy server 210. In these embodiments, the technology provided by the present disclosure can allow the bound devices 204, 206 to communicate with the external VPN server. This can provide VPN-based protection for the traffic of the bound devices 204, 206 without having to provide an actual VPN network proxy to the bound devices 204, 206.

[0079] Furthermore, it should be noted that Figure 3 Shown or referred to in Figure 3 The described functions may be implemented in any suitable manner in the electronic device 101, 102, 104 or other electronic device. For example, in some embodiments, one or more software applications or other software instructions executed by the processor 120 of the electronic device 101, 102, 104 or other electronic device may be used to implement or support the Figure 3 Shown or referred to in Figure 3 In other embodiments, dedicated hardware components may be used to implement or support at least some of the functions described in Figure 3 Shown or referred to in Figure 3 In general, any suitable hardware or any suitable combination of hardware and software / firmware instructions may be used to implement at least some of the functions described. Figure 3 Shown or referred to in Figure 3 Describes the functionality.

[0080] Although Figure 3 An example of a signaling diagram 300 for extending a network proxy to traffic of a bound device or other companion device is shown, but may be used for Figure 3 Make various changes. For example, Figure 3 The various operations in may overlap, occur in parallel, occur in a different order, or occur any number of times. Figure 3 There may be a lapse of time of any suitable length between the various operations shown in , which may vary depending on the circumstances.

[0081] Figure 4 An example method 400 for extending a network proxy to traffic of a bound device or other companion device according to the present disclosure is shown. For ease of explanation, Figure 4 The method 400 is described as involving Figure 2 The various elements 202-212 shown and described above and these elements 202-212 can be used with Figure 1 The method 400 is associated with the network configuration 100. However, the method 400 may be performed using any other suitable elements and in other suitable systems.

[0082] like Figure 4 As shown in , at step 402, input for enabling network proxy configuration of an electronic device is received. This may include, for example, the framework 302 of the electronic device 202 receiving an enablement instruction initiated by the user 208, wherein the enablement instruction indicates that the electronic device 202 allows configuration of one or more network proxies. At step 404, a first PAC file is obtained at the electronic device. This may include, for example, the framework 302 of the electronic device 202 downloading the first PAC file from a network location identified by the user 208. At step 406, the operation of a first local proxy server by the electronic device is initiated. This may include, for example, the framework 302 of the electronic device 202 initiating the operation of the first local proxy server 304. Among other things, the first local proxy server 304 is configured to receive traffic (such as to or from the electronic device 202 or a bound device) and forward the traffic based on the first PAC file.

[0083] At step 408, another input is received to enable the binding function of the electronic device. This may include, for example, the framework 302 of the electronic device 202 receiving another enabling instruction initiated by the user 208, wherein the enabling instruction indicates that the electronic device 202 allows binding. At step 410, the operation of the second local proxy server by the electronic device is initiated. This may include, for example, the framework 302 of the electronic device 202 initiating the operation of the second local proxy server 306. Among other things, the second local proxy server 306 is configured to receive traffic from the bound device and forward the traffic to the first local proxy server 304.

[0084] In step 412, a network interface for the electronic device is created. This may include, for example, the framework 302 of the electronic device 202 creating a virtual network interface for the electronic device 202, wherein the virtual network interface will function like an access point visible to the bound devices 204, 206. In step 414, the creation of a network interface for the bound device is initiated. This may include, for example, when the bound device 204, 206 attempts to connect to the electronic device 202, the framework 302 of the electronic device 202 initiates the creation of a virtual network interface on the bound device 204, 206. As part of this process, the electronic device 202 may assign a network address to the bound device 204, 206 or to a virtual network interface of the bound device 204, 206. In addition, the electronic device 202 may provide a second PAC file to the bound device 204, 206. The second PAC file defines the proxy for the bound devices 204 , 206 , for example, by identifying the IP address or other address of the electronic device 202 and the port number of the electronic device 202 associated with the second local proxy server 306 .

[0085] At this point, the bound devices 204, 206 may communicate via the electronic device 202. For example, in step 416, traffic from the bound device may be received by the second local proxy server. This may include, for example, the second local proxy server 306 of the electronic device 202 receiving traffic from the bound devices 204, 206 via a designated port of the electronic device 202 as identified in the second PAC file used by the bound devices 204, 206. In step 418, traffic is forwarded from the second local proxy server to the first local proxy server. This may include, for example, the second local proxy server 306 of the electronic device 202 transmits all traffic received through the designated port to the first local proxy server 304 of the electronic device 202. In step 420, the first local proxy server forwards traffic to an external proxy server based on the first PAC file. This may include, for example, the first local proxy server 304 of the electronic device 202 transmits traffic over a data network to deliver (directly or indirectly) to the external proxy server 210. If the electronic device 202 supports VPN and a VPN session has been established, this may include the first local proxy server 304 or a standalone VPN agent of the electronic device 202 forwarding traffic from the first local proxy server 304 to the VPN server, where the VPN server may forward the traffic to the external proxy server 210 .

[0086] Although Figure 4 An example of a method 400 for extending a network proxy to traffic of a bound device or other companion device is shown, but may be used for Figure 4 For example, although shown as a series of steps, Figure 4 The various steps in may overlap, occur in parallel, occur in a different order, or occur any number of times.

[0087] Figure 5 An example method for extending a network proxy to a second flow of at least one bound device according to the present disclosure is shown. For ease of explanation, Figure 5 The method 500 is described as involving Figure 2 The various elements 202-212 shown and described above in the drawings and these elements 202-212 may be used in conjunction with Figure 1 The method 500 is associated with the network configuration 100. However, the method 500 may be performed using any other suitable elements and in other suitable systems.

[0088] like Figure 5As shown in , a first proxy auto-configuration (PAC) file is obtained at the electronic device (step 502). This may include, for example, the framework 302 of the electronic device 202 downloading the first PAC file from the network address identified by the user 208. Prior to step 502, the method 500 may include: input to enable the network proxy configuration of the electronic device may be included. This may include, for example, the framework 302 of the electronic device 202 receiving an enablement instruction initiated by the user 208, wherein the enablement instruction instructs the electronic device 202 to allow configuration of one or more network proxies.

[0089] The method 500 may include running, by the electronic device, a first local proxy server, the first local proxy server being configured to receive first traffic from the electronic device and second traffic from the at least one bound device, the first local proxy server being configured to forward at least one of the first traffic and the second traffic based on a first PAC file (step 504). This may include, for example, the framework 302 of the electronic device 202 initiating the running of the first local proxy server 304. The first local proxy server 304 is configured, among other things, to receive the first traffic and / or the second traffic (such as to or from the electronic device 202 or the bound device), and forward the first traffic and / or the second traffic based on the first PAC file.

[0090] The method 500 may include receiving another input to enable the binding function of the electronic device. This may include, for example, the framework 302 of the electronic device 202 receiving another enable instruction initiated by the user 208, wherein the enable instruction indicates that the electronic device 202 allows binding.

[0091] The method 500 may include running, by the electronic device, a second local proxy server, the second local proxy server being configured to forward second traffic from at least one bound device to the first local proxy server (step 506). This may include, for example, the framework 302 of the electronic device 202 initiating the running of the second local proxy server 306. Among other things, the second local proxy server 306 is configured to receive the second traffic from the bound device and forward the second traffic to the first local proxy server 304.

[0092] The method 500 may include creating a network interface for the electronic device. This may include, for example, the framework 302 of the electronic device 202 creating a virtual network interface for the electronic device 202, wherein the virtual network interface will function like an access point visible to the bound devices 204, 206.

[0093] The method 500 may also include initiating the creation of a network interface for the bound device. This may include, for example, when the bound device 204, 206 attempts to link to the electronic device 202, the framework 302 of the electronic device 202 initiates the creation of a virtual network interface on the bound device 204, 206. As part of this process, the electronic device 202 may assign a network address to the bound device 204, 206 or to a virtual network interface of the bound device 204, 206. In addition, the electronic device 202 may provide a second PAC file to the bound device 204, 206. The second PAC file defines the proxy of the bound device 204, 206, such as by identifying the IP address or other address of the electronic device 202 and the port number of the electronic device 202 associated with the second local proxy server 306.

[0094] The method 500 may include receiving, at the first local proxy server, second traffic from at least one bound device from the second local proxy server (step 508). At this point, the bound devices 204, 206 may communicate via the electronic device 202. For example, the second traffic from the bound device may be received by the second local proxy server. This may include, for example, the second local proxy server 306 of the electronic device 202 receiving the second traffic from the bound device 204, 206 via a designated port of the electronic device 202 as identified in the second PAC file used by the bound devices 204, 206.

[0095] The method 500 may include forwarding second traffic from at least one bound device to an external proxy server using a first local proxy server (step 510). This may include, for example, the second local proxy server 306 of the electronic device 202 transmitting the first traffic and / or the second traffic received through the specified port to the first local proxy server 304 of the electronic device 202. At step 420, the first local proxy server forwards the first traffic and / or the second traffic to the external proxy server based on the first PAC file. This may include, for example, the first local proxy server 304 of the electronic device 202 transmitting the first traffic and / or the second traffic through a data network to deliver (directly or indirectly) to the external proxy server 210. If the electronic device 202 supports VPN and a VPN session has been established, this may include the first local proxy server 304 or an independent VPN agent of the electronic device 202 forwarding the first traffic and / or the second traffic from the first local proxy server 304 to the VPN server, wherein the VPN server may forward the first traffic and / or the second traffic to the external proxy server 210.

[0096] Although Figure 5 An example of a method 500 for extending a network proxy to traffic of a bound device or other companion device is shown, but may be used for Figure 5For example, although shown as a series of steps, Figure 5 The various steps in may overlap, occur in parallel, occur in a different order, or occur any number of times.

[0097] Although the present disclosure has been described with reference to various exemplary embodiments, various changes and modifications may be suggested to one skilled in the art. The present disclosure is intended to encompass such changes and modifications as fall within the scope of the appended claims.

[0098] According to an embodiment of the present disclosure, a method may include obtaining a first proxy auto-configuration (PAC) file. The method may include running a first local proxy server by an electronic device, the first local proxy server being configured to receive first traffic from the electronic device and second traffic from at least one bound device, the first local proxy server being configured to forward the second traffic based on the first PAC file. The method may include running a second local proxy server by the electronic device, the second local proxy server being configured to forward the second traffic from the at least one bound device to the first local proxy server. The method may include receiving the second traffic from the at least one bound device from the second local proxy server at the first local proxy server. In addition, the method may include forwarding the second traffic from the at least one bound device to an external proxy server using the first local proxy server.

[0099] According to an embodiment of the present disclosure, the method may include creating a first network interface on the electronic device. The method may include initiating creation of a second network interface on each of the at least one bound device. The method may include providing a second PAC file to the at least one bound device, the second PAC file identifying a network address and port associated with the second local proxy server.

[0100] According to an embodiment of the present disclosure, the first network interface on the electronic device is configured to act as an access point visible to the at least one bound device. Each second network interface on each of the at least one bound device is configured to download a second PAC file.

[0101] According to an embodiment of the present disclosure, the method may include: providing the second PAC file to each bound device in the at least one bound device during allocating a network address to the second network interface of the bound device.

[0102] According to an embodiment of the present disclosure, the method may include: obtaining the first PAC file after enabling the proxy configuration of the electronic device. The method may include: providing the second PAC file after enabling the binding function of the electronic device.

[0103] According to an embodiment of the present disclosure, the method may include: supporting a virtual private network (VPN) proxy and allowing the second traffic from the at least one bound device to be provided to an external VPN server.

[0104] According to an embodiment of the present disclosure, the second traffic from the at least one bound device is provided to the external proxy server using the first local proxy server for delivery to at least one destination.

[0105] According to an embodiment of the present disclosure, an electronic device includes at least one communication interface configured to communicate with at least one bound device, and at least one processor. The at least one processor is configured to obtain a first proxy automatic configuration (PAC) file. The at least one processor is also configured to run a first local proxy server, the first local proxy server is configured to receive a first flow from the electronic device and a second flow from the at least one bound device, and the first local proxy server is configured to forward the second flow based on the first PAC file. The at least one processor is also configured to run a second local proxy server, the second local proxy server is configured to forward the second flow from the at least one bound device to the first local proxy server. The at least one processor is also configured to receive the second flow from the at least one bound device from the second local proxy server at the first local proxy server. In addition, the at least one processor is configured to use the first local proxy server to forward the second flow from the at least one bound device to an external proxy server.

[0106] According to an embodiment of the present disclosure, the at least one processor is configured to create a first network interface on the electronic device. The at least one processor is configured to initiate the creation of a second network interface on each of the at least one bound device. The at least one processor is configured to provide a second PAC file to the at least one bound device, the second PAC file identifying a network address and port associated with the second local proxy server.

[0107] According to an embodiment of the present disclosure, the first network interface on the electronic device is configured to act as an access point visible to the at least one bound device. Each second network interface on each of the at least one bound device is configured to download the second PAC file.

[0108] According to an embodiment of the present disclosure, the at least one processor is configured to provide the second PAC file to each bound device in the at least one bound device during the allocation of a network address to the second network interface of the bound device.

[0109] According to an embodiment of the present disclosure, the at least one processor is configured to obtain the first PAC file after enabling the proxy configuration of the electronic device. The at least one processor is configured to provide the second PAC file after enabling the binding function of the electronic device.

[0110] According to an embodiment of the present disclosure, the at least one processor is configured to support a virtual private network (VPN) proxy and allow the second traffic from the at least one bound device to be provided to an external VPN server.

[0111] According to an embodiment of the present disclosure, the at least one processor is configured to use the first local proxy server to forward the second traffic from the at least one bound device to an external proxy server for delivery to at least one destination.

[0112] According to an embodiment of the present disclosure, a machine-readable medium containing instructions, when executed, causes at least one processor of an electronic device to implement a method for obtaining a first proxy automatic configuration (PAC) file. The method may include running a first local proxy server by the electronic device, the first local proxy server being configured to receive first traffic from the electronic device and second traffic from at least one bound device, the first local proxy server being configured to forward the second traffic based on the first PAC file. The method may include running a second local proxy server by the electronic device, the second local proxy server being configured to forward the second traffic from the at least one bound device to the first local proxy server. The method may include receiving the second traffic from the at least one bound device from the second local proxy server at the first local proxy server. In addition, the method may include forwarding the second traffic from the at least one bound device to an external proxy server using the first local proxy server.

Claims

1. A method (500) comprising: At the electronic device (202), obtaining a first proxy auto-configuration (PAC) file (step 502); The electronic device (202) runs a first local proxy server (304), the first local proxy server (304) being configured to receive first traffic from the electronic device (202) and second traffic from at least one bound device (204, 206), the first local proxy server (304) being configured to forward at least one of the first traffic and the second traffic based on the first PAC file (step 504); The electronic device (202) runs a second local proxy server (306), wherein the second local proxy server (306) is configured to forward the second traffic from the at least one bound device (204, 206) to the first local proxy server (304) (step 506); receiving, at the first local proxy server (304), from the second local proxy server (306), the second traffic from the at least one bound device (204, 206) (step 508); and The second traffic from the at least one bound device (204, 206) is forwarded to an external proxy server (210) using the first local proxy server (304) (step 510).

2. The method according to claim 1, further comprising: Creating, by the electronic device, a first network interface on the electronic device; initiating, by the electronic device, creation of a second network interface on each of the at least one bound device; and A second PAC file is provided to the at least one bound device, the second PAC file identifying a network address and port associated with the second local proxy server.

3. The method according to claim 2, wherein: The first network interface on the electronic device is configured to act as an access point visible to the at least one bound device; and Each second network interface on each of the at least one bound device is configured to download the second PAC file.

4. The method according to any one of claims 2 to 3, wherein: The electronic device provides the second PAC file to each of the at least one bound device during assigning a network address to the second network interface of the bound device.

5. The method according to any one of claims 2 to 4, wherein: The first PAC file is obtained after enabling proxy configuration of the electronic device; and The second PAC file is provided after a binding function of the electronic device is enabled.

6. The method according to any one of claims 1 to 5, wherein: The first local proxy server supports a virtual private network (VPN) proxy and allows the second traffic from the at least one bound device to be provided to an external VPN server.

7. The method according to any one of claims 1 to 6, wherein: The second traffic from the at least one bound device is provided to the external proxy server using the first local proxy server for delivery to at least one destination.

8. An electronic device (202), comprising: at least one communication interface (170) configured to communicate with at least one bound device (204, 206); as well as At least one processor (120) is configured to: Get the first proxy auto-configuration (PAC) file; Running a first local proxy server (304), the first local proxy server (304) being configured to receive first traffic from the electronic device (202) and second traffic from the at least one bound device (204, 206), the first local proxy server (304) being configured to forward at least one of the first traffic and the second traffic based on the first PAC file; Running a second local proxy server (306), the second local proxy server (306) being configured to forward the second traffic from the at least one bound device (204, 206) to the first local proxy server (304); receiving, at the first local proxy server (304), the second traffic from the at least one bound device (204, 206) from the second local proxy server (306); and The second traffic from the at least one bound device (204, 206) is forwarded to an external proxy server (210) using the first local proxy server (304).

9. The electronic device according to claim 8, wherein: The at least one process is further configured to: Creating a first network interface on the electronic device; initiating creation of a second network interface on each of the at least one bound device; and A second PAC file is provided to the at least one bound device, the second PAC file identifying a network address and port associated with the second local proxy server.

10. The electronic device according to claim 9, wherein: The first network interface on the electronic device is configured to act as an access point visible to the at least one bound device; and Each second network interface on each of the at least one bound device is configured to download the second PAC file.

11. The electronic device according to any one of claims 9 to 10, wherein: The at least one processor is configured to provide the second PAC file to each of the at least one bound device during assignment of a network address to the second network interface of the bound device.

12. The electronic device according to any one of claims 9 to 11, wherein: The at least one processor is configured to obtain the first PAC file after enabling a proxy configuration of the electronic device; and The at least one processor is configured to provide the second PAC file after enabling a binding function of the electronic device.

13. The electronic device according to any one of claims 8 to 12, wherein: The first local proxy server is configured to support a virtual private network (VPN) proxy and allow the second traffic from the at least one bound device to be provided to an external VPN server.

14. The electronic device according to any one of claims 8 to 12, wherein: The at least one processor is configured to forward the second traffic from the at least one bound device to the external proxy server using the first local proxy server for delivery to at least one destination.

15. A machine-readable medium containing instructions, wherein: When the instructions are executed, at least one processor of the electronic device implements the method of any one of claims 1 to 7.