US20080170525A1 - Adaptive optimizations for connecting to a wireless network - Google Patents

Adaptive optimizations for connecting to a wireless network Download PDF

Info

Publication number
US20080170525A1
US20080170525A1 US11/652,775 US65277507A US2008170525A1 US 20080170525 A1 US20080170525 A1 US 20080170525A1 US 65277507 A US65277507 A US 65277507A US 2008170525 A1 US2008170525 A1 US 2008170525A1
Authority
US
United States
Prior art keywords
wireless network
processing device
instructions
information
usage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/652,775
Inventor
Avi Rom Geiger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US11/652,775 priority Critical patent/US20080170525A1/en
Publication of US20080170525A1 publication Critical patent/US20080170525A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service

Definitions

  • the processing device scans serially through each wireless channel listening for network ID traffic for at least 100 ms on each of the wireless channels.
  • the processing device detects the network ID traffic on one of the wireless channels, the processing device attempts to register to the wireless network via the one of the wireless channels. This process may take up to several seconds to complete.
  • a processing device may scan for an available wireless network in an optimized manner.
  • the processing device may utilize one or more items of known information to predict an availability of one or more wireless networks.
  • the one or more items of known information may include information from a maintained history of wireless network usage, scheduling information from a scheduling application, location data, as well as other information.
  • the processing device may optimize scanning for an available wireless network by arranging a network scanning order such that a network scan for wireless networks having a higher likelihood of availability may be performed before a network scan for wireless networks having a lower likelihood of availability.
  • the processing device may create a schedule based on the one or more items of known information.
  • the processing device may automatically wake up from an inactive state, based on the created schedule, and may automatically connect to another processing device, via a wireless network, without first performing a network scan.
  • the processing device may then exchange information with the other processing device via the connected wireless network.
  • the processing device may obtain scheduling information from a scheduling application.
  • the scheduling information may include information with respect to a time and a place at which one or more meetings occur, as well as other information.
  • the processing device may correlate the scheduling information with a maintained history of wireless network usage such that the processing device may determine that, when a particular meeting occurred, access to one or more wireless networks was more likely to be available. Based on this determination, the processing device may predict a high availability of the one or more wireless networks.
  • FIG. 1 is a functional block diagram of a processing device which may be used to implement embodiments consistent with the subject matter of this disclosure.
  • FIG. 2 is a flowchart of an exemplary process for optimizing a wireless network scan in embodiments consistent with the subject matter of this disclosure.
  • FIG. 3 is an exemplary history of wireless network usage illustrating use of known information for predicting availability of one or more wireless networks.
  • FIG. 4 is exemplary scheduling information which may be correlated with a history of wireless network usage to predict availability of one or more wireless networks.
  • FIG. 5 is a flowchart of an exemplary process for using known information to create a schedule for automatically waking a processing device from an inactive state, automatically connecting to another processing device via a wireless network, and exchanging information with the other processing device via the connected wireless network.
  • FIG. 6 is a flowchart of an exemplary process for automatically waking a processing device from an inactive state, based on scheduling information from a scheduling application, automatically connecting to another processing device via a wireless network, and exchanging information with the other processing device via the connected wireless network.
  • FIG. 1 is a functional block diagram of a processing device 100 which may be used to implement embodiments consistent with the subject matter of this disclosure.
  • Processing device 100 may include a bus 110 , a processor 120 , a memory 130 , a read only memory (ROM) 140 , a storage device 150 and a communication interface 180 .
  • ROM read only memory
  • Bus 110 may be a communication interface that permits communication among components of processing device 100 .
  • Processor 120 may include at least one conventional processor or microprocessor that interprets and executes instructions.
  • Memory 130 may be a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by processor 120 . Memory 130 may also store temporary variables or other intermediate information used during execution of instructions by processor 120 .
  • ROM 140 may include a conventional ROM device or another type of static storage device that stores static information and instructions for processor 120 .
  • Storage device 150 may include any type of tangible media for storing data and/or instructions. In some embodiments, storage device 150 may include one or more folders, each of which may include one or more files.
  • Communication interface 180 may include any transceiver-like mechanism that enables processing device 100 to communicate with other devices or networks via a wireless connection, such as, for example, a radio frequency (RF) interface or other interface.
  • RF radio frequency
  • Processing device 100 may perform such functions in response to processor 120 executing sequences of instructions contained in a machine-readable medium, such as, for example, memory 130 , or other tangible media. Such instructions may be read into memory 130 from another tangible machine-readable medium, such as storage device 150 , or from a separate device via communication interface 180 .
  • a machine-readable medium such as, for example, memory 130
  • Such instructions may be read into memory 130 from another tangible machine-readable medium, such as storage device 150 , or from a separate device via communication interface 180 .
  • a wireless network scanning order may be optimized based on at least one item of known information.
  • the at least one item of known information may include a history of wireless network usage, such as usage of particular wireless networks with respect to a certain time of day and day of week, scheduling information from a scheduling application, location data, as well as other items of known information.
  • availability of one or more wireless networks may be predicted and a wireless network scanning order may be optimized, such that a scan for wireless networks having a higher likelihood of availability may occur before a scan for other wireless networks.
  • a schedule may be created based on the at least one item of known information. Based on the created schedule, a processing device may automatically wake up from an inactive state and may connect to another processing device using a wireless network without first performing a network scan. After connecting, the processing device may exchange information via the connected wireless network.
  • FIG. 2 is a flowchart that illustrates exemplary operation of a processing device, such as, for example, processing device 100 , in embodiments consistent with the subject matter of this disclosure. Operation may begin with processing device 100 predicting availability of at least one wireless network (act 202 ). The predicted availability may be based on one or more items of known information. For example, in one embodiment, a history of wireless network usage may be maintained by processing device 100 . The maintained history of wireless network usage may include information with respect to which wireless networks were used, a time of day of usage and a day of a week of usage. In some embodiments, the maintained history may further include location data with respect to a location of processing device 100 when accessing one or more wireless networks. The location data may be provided by a GPS device, or other device.
  • FIG. 3 illustrates an exemplary history of wireless network usage 300 that may be stored in, for example, memory 130 , or another medium of processing device 100 .
  • Item 302 of history 300 indicates that, on Wednesday, Nov. 1, 2006, wireless network “COFFEENET” was used on channel 1 for 30 minutes, beginning at 7:30 a.m. from location “A”.
  • Item 304 of history 300 indicates that, on Wednesday, Nov. 1, 2006, wireless network “CORPNET” was used on channel 5 for 53 minutes, beginning at 10:30 a.m. from location “B”.
  • Item 306 of history 300 indicates that, on Thursday, Nov. 2, 2006, wireless network “COFFEENET” was used on channel 1 for 50 minutes, beginning at 7:32 a.m. from location “A”.
  • Item 308 of history 300 indicates that, on Thursday, Nov. 2, 2006, wireless network “COMPYNET” was used on channel 3 for 118 minutes, beginning at 7:30 a.m. from location “C”.
  • Item 310 of history 300 indicates that, on Friday, Nov. 3, 2006, wireless network “COFFEENET” was used on channel 1 for 35 minutes, beginning at 7:28 a.m. from location “A”.
  • Item 312 of history 300 indicates that, on Friday, Nov. 3, 2006, wireless network “CORPNET” was used on channel 5 for 72 minutes, beginning at 10:42 a.m. from location “B”.
  • Item 314 of history 300 indicates that, on Saturday, Nov.
  • Processing device 100 may analyze history 300 and predict that, on weekday mornings at about 7:30 a.m. there is a high likelihood that wireless network “COFFEENET” is available on channel 1 .
  • the maintained history may further include a mode in which a processing device is used when accessing one or more wireless networks, such as, for example, tablet input mode, keyboard input mode, or another mode.
  • cellular communication information such as, for example, a base station through which wireless communications are provided, may be included in the maintained history of wireless network usage for predicting availability of one or more wireless networks.
  • information from a scheduling application may be used to predict availability of one or more wireless networks.
  • the information from the scheduling application may be correlated with other information that may be included in the maintained history, such that a schedule of a particular type of meeting at a certain time may be correlated with the maintained history of wireless network usage of one or more wireless networks to predict availability of one or more wireless networks.
  • FIG. 4 illustrates a portion of an exemplary schedule 400 from a scheduling application.
  • Exemplary schedule 400 includes items 402 , 404 and 406 .
  • Item 402 indicates a management meeting at 10:30 a.m. on Nov. 1, 2006.
  • Item 404 indicates a sales meeting at 10:30 a.m. on Nov. 2, 2006.
  • Item 406 indicates a management meeting at 10:30 a.m. on Nov. 3, 2006.
  • processing device 100 may correlate exemplary schedule 400 with exemplary history 300 and may predict that the management meetings occur at location “B” and that the wireless network “CORPNET” has a high likelihood of being available during the time of the management meeting (see items 402 and 408 of schedule 400 and items 304 and 412 of history 300 ). Further, in embodiments in which processing device 100 may be supplied with location information, processing device 100 may predict that the wireless network “CORPNET” has a high likelihood of being available when processing device 100 determines that it is located in a vicinity of location “B”.
  • processing device 100 may optimize a network scanning order for scanning for one or more wireless networks (act 204 ). For example, in one embodiment, a network scan for a first wireless network, predicted to have a highest availability among the wireless networks, may occur before a network scan for a second wireless network, predicted to have a second highest availability among the wireless networks, which may occur before a network scan for a third wireless network, predicted to have a third highest availability among the wireless networks, etc.
  • processing device 100 may optimize network scanning by placing wireless network “COFFEENET” at a beginning of a network scanning order when performing a scan at about 7:30 a.m. on a weekday.
  • processing device 100 may find an available wireless network (act 206 ) and may register with the available wireless network (act 208 ). Processing device 100 may then update maintained wireless network usage information, such as, for example, the history of wireless network usage. In various embodiments consistent with the subject matter of this disclosure, processing device 100 may maintain a predetermined time period of history of wireless network usage, such as, for example, one week, one month, one day, or another predetermined time period (act 210 ).
  • FIG. 2 The flowchart illustrated in FIG. 2 is exemplary. In other embodiments, other methods may be used for predicting availability of at least one wireless network and optimizing a network scanning order. Further, in other embodiments, other acts, or a different order of acts may be performed.
  • FIG. 5 is a flowchart that illustrates exemplary operation in another embodiment consistent with the subject matter of this disclosure. Operation may begin with processing device 100 creating a schedule based on at least one item of known information (act 502 ). For example, availability of one or more wireless networks may be determined based on one or more items of known information in a maintained history of wireless network usage with respect to wireless network usage at a particular time of day, during a particular day of the week, when processing device 100 is at a particular location (provided to processing device 100 by a GPS device or other device), based on schedule information from a scheduling application, cellular communication information, such as, for example, base station information correlated with other network usage information, or based on additional or other items of known information.
  • cellular communication information such as, for example, base station information correlated with other network usage information, or based on additional or other items of known information.
  • processing device 100 may predict a high likelihood of availability of wireless network “COFFEENET” at about 7:30 a.m. on weekdays. Based on this item of known information, processing device 100 may create a schedule for using the wireless network “COFFEENET” at about 7:30 a.m. As another example, using schedule 400 correlated with history 300 , processing device 100 may determine that when management meetings take place, the wireless network “CORPNET” has a high likelihood of availability. Based on this item of known information, processing device 100 may create a schedule for using the wireless network “CORPNET” at about 10:30 a.m. on Nov. 1, 2006 and at about 10:42 a.m. on Nov. 3, 2006.
  • processing device 100 may automatically wake up from an inactive state at a particular time, may register with a wireless network and may connect to the wireless network (act 504 ).
  • the created schedule may cause processing device I 00 to wake up from an inactive state at about 7:30 a.m. on weekdays and attempt to use the wireless network “COFFEENET”.
  • processing device 100 may use a wireless network based on a predicted availability of the wireless network without first performing a network scan.
  • Processing device 100 may then exchange information via the connected wireless network (act 506 ).
  • exchanging information via the connected wireless network may include receiving at least one textual communication, such as, for example, an e-mail or other textual communication, via the connected wireless network, from another processing device.
  • exchanging information via the connected wireless network may include sending and receiving textual communication, such as, for example, e-mail or other textual communication.
  • exchanging information via the connected wireless network may include synchronizing data with a synchronizing medium via the connected wireless network.
  • a synchronizing medium may include a file, a group of files, a folder, a portion of a storage medium, an entire storage medium, a group of storage media, or other data accessible via a processing device connected to a network.
  • FIG. 6 is a flowchart that illustrates exemplary operation in yet another embodiment consistent with the subject matter of this disclosure. Operation may begin with processing device 100 obtaining scheduling information from a scheduling application (act 602 ).
  • the scheduling application may include information with respect to a time and a place at which one or more meetings occur.
  • the information from the scheduling application may be correlated with a maintained history of wireless network usage, such that processing device 100 may determine that, when a particular meeting occurred, access to one or more of wireless networks was likely (refer to the management meeting example, above, with respect to schedule 400 and history 300 ). Based on this information, processing device 100 may predict a high availability of the one or more networks when the particular meeting is scheduled.
  • processing device 100 may wake itself up from and an inactive state at a time at which the particular meeting is scheduled, based on the information from the scheduling application, may register with a wireless network and may connect to another processing device via the wireless network (act 604 ).
  • processing device 100 may scan for one or more wireless networks in an order based on predicted availability of the one or more wireless networks. That is, processing device 100 may scan for wireless networks having a high predicted availability before scanning for wireless networks having a low predicted availability. In other embodiments, processing device 100 may connect to a wireless network having a highest predicted availability without first performing a network scan.
  • Processing device 100 may then exchange information via the connected wireless network (act 606 ).
  • exchanging information via the connected wireless network may include receiving at least one communication, such as, for example, an e-mail or communication, via the connected wireless network.
  • exchanging information via the connected wireless network may include sending and receiving textual or other communication, such as, for example, e-mail or other communication.
  • exchanging information via the connected wireless network may include synchronizing data with a synchronizing medium via the connected wireless network.

Abstract

A wireless network scanning order may be optimized based on at least one item of known information. The at least one item of known information may include a wireless network usage history, scheduling information from a scheduling application, location data, or other items of information. Availability of one or more wireless networks may be predicted based on the at least one item of known information and a wireless network scanning order may be altered, such that a scan for a wireless network having a higher likelihood of availability occurs before a scan for other wireless networks. In other embodiments, a schedule may be created based on the at least one item of known information to predict availability of a wireless network. Based on the created schedule, a processing device may automatically wake up from an inactive state and may use a wireless network to exchange information via the wireless network.

Description

    BACKGROUND
  • Typically, when a processing device attempts to connect to a wireless network, the processing device scans serially through each wireless channel listening for network ID traffic for at least 100 ms on each of the wireless channels. When the processing device detects the network ID traffic on one of the wireless channels, the processing device attempts to register to the wireless network via the one of the wireless channels. This process may take up to several seconds to complete.
  • SUMMARY
  • This Summary is provided to introduce a selection of concepts in a simplified form that is further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
  • In embodiments consistent with the subject matter of this disclosure, a processing device may scan for an available wireless network in an optimized manner. The processing device may utilize one or more items of known information to predict an availability of one or more wireless networks. The one or more items of known information may include information from a maintained history of wireless network usage, scheduling information from a scheduling application, location data, as well as other information. Based on the predicted availability of the one or more wireless networks, the processing device may optimize scanning for an available wireless network by arranging a network scanning order such that a network scan for wireless networks having a higher likelihood of availability may be performed before a network scan for wireless networks having a lower likelihood of availability.
  • In some embodiments consistent with the subject matter of this disclosure, the processing device may create a schedule based on the one or more items of known information. The processing device may automatically wake up from an inactive state, based on the created schedule, and may automatically connect to another processing device, via a wireless network, without first performing a network scan. The processing device may then exchange information with the other processing device via the connected wireless network.
  • In another exemplary embodiment consistent with the subject matter of this disclosure, the processing device may obtain scheduling information from a scheduling application. The scheduling information may include information with respect to a time and a place at which one or more meetings occur, as well as other information. The processing device may correlate the scheduling information with a maintained history of wireless network usage such that the processing device may determine that, when a particular meeting occurred, access to one or more wireless networks was more likely to be available. Based on this determination, the processing device may predict a high availability of the one or more wireless networks.
  • DRAWINGS
  • In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description is described below and will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting of its scope, implementations will be described and explained with additional specificity and detail through the use of the accompanying drawings.
  • FIG. 1 is a functional block diagram of a processing device which may be used to implement embodiments consistent with the subject matter of this disclosure.
  • FIG. 2 is a flowchart of an exemplary process for optimizing a wireless network scan in embodiments consistent with the subject matter of this disclosure.
  • FIG. 3 is an exemplary history of wireless network usage illustrating use of known information for predicting availability of one or more wireless networks.
  • FIG. 4 is exemplary scheduling information which may be correlated with a history of wireless network usage to predict availability of one or more wireless networks.
  • FIG. 5 is a flowchart of an exemplary process for using known information to create a schedule for automatically waking a processing device from an inactive state, automatically connecting to another processing device via a wireless network, and exchanging information with the other processing device via the connected wireless network.
  • FIG. 6 is a flowchart of an exemplary process for automatically waking a processing device from an inactive state, based on scheduling information from a scheduling application, automatically connecting to another processing device via a wireless network, and exchanging information with the other processing device via the connected wireless network.
  • DETAILED DESCRIPTION
  • Embodiments are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the subject matter of this disclosure.
  • Exemplary Processing Device
  • FIG. 1 is a functional block diagram of a processing device 100 which may be used to implement embodiments consistent with the subject matter of this disclosure. Processing device 100 may include a bus 110, a processor 120, a memory 130, a read only memory (ROM) 140, a storage device 150 and a communication interface 180.
  • Bus 110 may be a communication interface that permits communication among components of processing device 100. Processor 120 may include at least one conventional processor or microprocessor that interprets and executes instructions. Memory 130 may be a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by processor 120. Memory 130 may also store temporary variables or other intermediate information used during execution of instructions by processor 120. ROM 140 may include a conventional ROM device or another type of static storage device that stores static information and instructions for processor 120. Storage device 150 may include any type of tangible media for storing data and/or instructions. In some embodiments, storage device 150 may include one or more folders, each of which may include one or more files. Communication interface 180 may include any transceiver-like mechanism that enables processing device 100 to communicate with other devices or networks via a wireless connection, such as, for example, a radio frequency (RF) interface or other interface.
  • Processing device 100 may perform such functions in response to processor 120 executing sequences of instructions contained in a machine-readable medium, such as, for example, memory 130, or other tangible media. Such instructions may be read into memory 130 from another tangible machine-readable medium, such as storage device 150, or from a separate device via communication interface 180.
  • Overview
  • In embodiments consistent with the subject matter of this disclosure, a wireless network scanning order may be optimized based on at least one item of known information. The at least one item of known information may include a history of wireless network usage, such as usage of particular wireless networks with respect to a certain time of day and day of week, scheduling information from a scheduling application, location data, as well as other items of known information. Using the at least one item of known information, availability of one or more wireless networks may be predicted and a wireless network scanning order may be optimized, such that a scan for wireless networks having a higher likelihood of availability may occur before a scan for other wireless networks.
  • In some embodiments consistent with the subject matter of this disclosure, a schedule may be created based on the at least one item of known information. Based on the created schedule, a processing device may automatically wake up from an inactive state and may connect to another processing device using a wireless network without first performing a network scan. After connecting, the processing device may exchange information via the connected wireless network.
  • Exemplary Operation
  • FIG. 2 is a flowchart that illustrates exemplary operation of a processing device, such as, for example, processing device 100, in embodiments consistent with the subject matter of this disclosure. Operation may begin with processing device 100 predicting availability of at least one wireless network (act 202). The predicted availability may be based on one or more items of known information. For example, in one embodiment, a history of wireless network usage may be maintained by processing device 100. The maintained history of wireless network usage may include information with respect to which wireless networks were used, a time of day of usage and a day of a week of usage. In some embodiments, the maintained history may further include location data with respect to a location of processing device 100 when accessing one or more wireless networks. The location data may be provided by a GPS device, or other device.
  • FIG. 3 illustrates an exemplary history of wireless network usage 300 that may be stored in, for example, memory 130, or another medium of processing device 100. Item 302 of history 300 indicates that, on Wednesday, Nov. 1, 2006, wireless network “COFFEENET” was used on channel 1 for 30 minutes, beginning at 7:30 a.m. from location “A”. Item 304 of history 300 indicates that, on Wednesday, Nov. 1, 2006, wireless network “CORPNET” was used on channel 5 for 53 minutes, beginning at 10:30 a.m. from location “B”. Item 306 of history 300 indicates that, on Thursday, Nov. 2, 2006, wireless network “COFFEENET” was used on channel 1 for 50 minutes, beginning at 7:32 a.m. from location “A”. Item 308 of history 300 indicates that, on Thursday, Nov. 2, 2006, wireless network “COMPYNET” was used on channel 3 for 118 minutes, beginning at 7:30 a.m. from location “C”. Item 310 of history 300 indicates that, on Friday, Nov. 3, 2006, wireless network “COFFEENET” was used on channel 1 for 35 minutes, beginning at 7:28 a.m. from location “A”. Item 312 of history 300 indicates that, on Friday, Nov. 3, 2006, wireless network “CORPNET” was used on channel 5 for 72 minutes, beginning at 10:42 a.m. from location “B”. Item 314 of history 300 indicates that, on Saturday, Nov. 4, 2006, wireless network “HOMENET” was used on channel 2 for 238 minutes, beginning at 12:01 p.m. from location “D”. Item 316 of history 300 indicates that, on Saturday, Nov. 3, 2006, wireless network “HOMENET” was used on channel 2 for 296 minutes, beginning at 1:00 p.m. from location “D”.
  • Processing device 100 may analyze history 300 and predict that, on weekday mornings at about 7:30 a.m. there is a high likelihood that wireless network “COFFEENET” is available on channel 1.
  • Of course, other or different information may be included in the maintained history. For example, the maintained history may further include a mode in which a processing device is used when accessing one or more wireless networks, such as, for example, tablet input mode, keyboard input mode, or another mode. In some embodiments, cellular communication information, such as, for example, a base station through which wireless communications are provided, may be included in the maintained history of wireless network usage for predicting availability of one or more wireless networks. In yet other embodiments, information from a scheduling application may be used to predict availability of one or more wireless networks. For example, in one embodiment, the information from the scheduling application may be correlated with other information that may be included in the maintained history, such that a schedule of a particular type of meeting at a certain time may be correlated with the maintained history of wireless network usage of one or more wireless networks to predict availability of one or more wireless networks.
  • FIG. 4 illustrates a portion of an exemplary schedule 400 from a scheduling application. Exemplary schedule 400 includes items 402, 404 and 406. Item 402 indicates a management meeting at 10:30 a.m. on Nov. 1, 2006. Item 404 indicates a sales meeting at 10:30 a.m. on Nov. 2, 2006. Item 406 indicates a management meeting at 10:30 a.m. on Nov. 3, 2006. In this example, processing device 100 may correlate exemplary schedule 400 with exemplary history 300 and may predict that the management meetings occur at location “B” and that the wireless network “CORPNET” has a high likelihood of being available during the time of the management meeting (see items 402 and 408 of schedule 400 and items 304 and 412 of history 300). Further, in embodiments in which processing device 100 may be supplied with location information, processing device 100 may predict that the wireless network “CORPNET” has a high likelihood of being available when processing device 100 determines that it is located in a vicinity of location “B”.
  • Referring back to FIG. 2, based on the predicted availability of the one or more of networks, processing device 100 may optimize a network scanning order for scanning for one or more wireless networks (act 204). For example, in one embodiment, a network scan for a first wireless network, predicted to have a highest availability among the wireless networks, may occur before a network scan for a second wireless network, predicted to have a second highest availability among the wireless networks, which may occur before a network scan for a third wireless network, predicted to have a third highest availability among the wireless networks, etc. Using history 300 of FIG. 3, processing device 100 may optimize network scanning by placing wireless network “COFFEENET” at a beginning of a network scanning order when performing a scan at about 7:30 a.m. on a weekday.
  • Next, based on the optimized network scanning, processing device 100 may find an available wireless network (act 206) and may register with the available wireless network (act 208). Processing device 100 may then update maintained wireless network usage information, such as, for example, the history of wireless network usage. In various embodiments consistent with the subject matter of this disclosure, processing device 100 may maintain a predetermined time period of history of wireless network usage, such as, for example, one week, one month, one day, or another predetermined time period (act 210).
  • The flowchart illustrated in FIG. 2 is exemplary. In other embodiments, other methods may be used for predicting availability of at least one wireless network and optimizing a network scanning order. Further, in other embodiments, other acts, or a different order of acts may be performed.
  • FIG. 5 is a flowchart that illustrates exemplary operation in another embodiment consistent with the subject matter of this disclosure. Operation may begin with processing device 100 creating a schedule based on at least one item of known information (act 502). For example, availability of one or more wireless networks may be determined based on one or more items of known information in a maintained history of wireless network usage with respect to wireless network usage at a particular time of day, during a particular day of the week, when processing device 100 is at a particular location (provided to processing device 100 by a GPS device or other device), based on schedule information from a scheduling application, cellular communication information, such as, for example, base station information correlated with other network usage information, or based on additional or other items of known information.
  • With respect to exemplary history 300 of FIG. 3, for example, processing device 100 may predict a high likelihood of availability of wireless network “COFFEENET” at about 7:30 a.m. on weekdays. Based on this item of known information, processing device 100 may create a schedule for using the wireless network “COFFEENET” at about 7:30 a.m. As another example, using schedule 400 correlated with history 300, processing device 100 may determine that when management meetings take place, the wireless network “CORPNET” has a high likelihood of availability. Based on this item of known information, processing device 100 may create a schedule for using the wireless network “CORPNET” at about 10:30 a.m. on Nov. 1, 2006 and at about 10:42 a.m. on Nov. 3, 2006.
  • Next, based on the created schedule, processing device 100 may automatically wake up from an inactive state at a particular time, may register with a wireless network and may connect to the wireless network (act 504). Using the above example with respect to the wireless network “COFFEENET”, the created schedule may cause processing device I 00 to wake up from an inactive state at about 7:30 a.m. on weekdays and attempt to use the wireless network “COFFEENET”. In some embodiments, processing device 100 may use a wireless network based on a predicted availability of the wireless network without first performing a network scan.
  • Processing device 100, may then exchange information via the connected wireless network (act 506). In some embodiments, exchanging information via the connected wireless network may include receiving at least one textual communication, such as, for example, an e-mail or other textual communication, via the connected wireless network, from another processing device. In other embodiments, exchanging information via the connected wireless network may include sending and receiving textual communication, such as, for example, e-mail or other textual communication. In yet other embodiments, exchanging information via the connected wireless network may include synchronizing data with a synchronizing medium via the connected wireless network. A synchronizing medium may include a file, a group of files, a folder, a portion of a storage medium, an entire storage medium, a group of storage media, or other data accessible via a processing device connected to a network.
  • FIG. 6 is a flowchart that illustrates exemplary operation in yet another embodiment consistent with the subject matter of this disclosure. Operation may begin with processing device 100 obtaining scheduling information from a scheduling application (act 602). The scheduling application may include information with respect to a time and a place at which one or more meetings occur. In one embodiment, the information from the scheduling application may be correlated with a maintained history of wireless network usage, such that processing device 100 may determine that, when a particular meeting occurred, access to one or more of wireless networks was likely (refer to the management meeting example, above, with respect to schedule 400 and history 300). Based on this information, processing device 100 may predict a high availability of the one or more networks when the particular meeting is scheduled.
  • Next, processing device 100 may wake itself up from and an inactive state at a time at which the particular meeting is scheduled, based on the information from the scheduling application, may register with a wireless network and may connect to another processing device via the wireless network (act 604). In some embodiments, processing device 100 may scan for one or more wireless networks in an order based on predicted availability of the one or more wireless networks. That is, processing device 100 may scan for wireless networks having a high predicted availability before scanning for wireless networks having a low predicted availability. In other embodiments, processing device 100 may connect to a wireless network having a highest predicted availability without first performing a network scan.
  • Processing device 100 may then exchange information via the connected wireless network (act 606). In some embodiments, exchanging information via the connected wireless network may include receiving at least one communication, such as, for example, an e-mail or communication, via the connected wireless network. In other embodiments, exchanging information via the connected wireless network may include sending and receiving textual or other communication, such as, for example, e-mail or other communication. In yet other embodiments, exchanging information via the connected wireless network may include synchronizing data with a synchronizing medium via the connected wireless network.
  • Conclusion
  • Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms for implementing the claims.
  • Although the above descriptions may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments are part of the scope of this disclosure. Further, implementations consistent with the subject matter of this disclosure may have more or fewer acts than as described, or may implement acts in a different order than as shown. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.

Claims (20)

1. A method of optimizing a network scanning order for wireless networks, the method comprising:
predicting availability of at least one wireless network based on one or more items of known information;
optimizing the network scanning order based on the one or more items of known information, such that ones of the at least one wireless network that are more likely to be available are scanned before others of the at least one wireless network.
2. The method of claim 1, wherein the one or more items of known information include a maintained history with respect to usage of the at least one wireless network.
3. The method of claim 1, wherein the one or more items of known information comprise at least one of a history of usage of the at least one wireless network with respect to a time of day, a history of usage of the at least one wireless network with respect to a day of week, information from a scheduling application, location data, a mode in which a processing device is being used, or cellular communication information.
4. The method of claim 1, further comprising:
creating a schedule based on the predicted availability of the at least one wireless network;
automatically waking a processing device from an inactive state and connecting the processing device to another processing device via one of the at least one wireless network, based on the created schedule; and
exchanging information, by the processing device, via the connected one of the at least one wireless network.
5. The method of claim 1, further comprising:
creating a schedule based on the one or more items of known information;
automatically waking a processing device from an inactive state and connecting the processing device to another processing device via one of the at least one wireless network, based on the created schedule; and
synchronizing data of the processing device with a synchronizing medium via the connected one of the at least one wireless network.
6. The method of claim 1, further comprising:
automatically waking a processing device from an inactive state based on the predicted availability of the at least one wireless network and connecting the processing device to another processing device via one of the at least one wireless network; and
receiving, by the processing device, at least one e-mail message after automatically waking from the inactive state and connecting to the one of the at least one wireless network.
7. A tangible machine-readable medium having stored therein instructions for at least one processor, the tangible machine-readable medium comprising:
instructions for predicting availability of a wireless network based on one or more items of information; and
instructions for automatically attempting to use the wireless network based, at least in part, on the predicted availability of the wireless network.
8. The tangible machine-readable medium of claim 7, wherein the instructions for automatically attempting to use the wireless network based on the predicted availability of the wireless network causes the attempt to use the wireless network without first performing a wireless network scan.
9. The tangible machine-readable medium of claim 7, wherein the one or more items of information comprise at least one of a history of usage of the wireless network with respect to a time of day, a history of usage of the wireless network with respect to a day of week, information from a scheduling application, location data, a mode in which a processing device is being used, or cellular communication information.
10. The tangible machine-readable medium of claim 7, further comprising:
instructions for creating a schedule based on the predicted availability of the wireless network;
instructions for automatically waking a processing device from an inactive state and using the wireless network, based on the created schedule; and
instructions for exchanging information with respect to the processing device via the wireless network.
11. The tangible machine-readable medium of claim 7, further comprising:
instructions for creating a schedule based on the one or more items of information;
instructions for automatically waking a processing device from an inactive state and using the wireless network, based on the created schedule; and
instructions for synchronizing data with a synchronizing medium via the wireless network.
12. The tangible machine-readable medium of claim 7, further comprising:
instructions for automatically waking a processing device from an inactive state based on the predicted availability of the wireless network and using the wireless network; and
instructions for receiving at least one communication via the connected wireless network.
13. The tangible machine-readable medium of claim 7, further comprising:
instructions for creating a schedule based on the one or more items of information;
instructions for automatically waking a processing device from an inactive state and using the wireless network, based on the created schedule; and
instructions for exchanging at least one e-mail message via the wireless network.
14. A processing device comprising:
at least one processor for executing instructions;
a memory for storing the instructions; and
a bus connecting the at least one processor with the memory, the memory further comprising:
instructions for predicting availability of at least one wireless network based on known information,
instructions for optimizing an order of wireless network scanning such that each wireless network scan scans for a respective one of the at least one wireless network that is predicted more likely to be available than a respective successive one of the at least one wireless network.
15. The processing device of claim 14, wherein the known information includes information with respect to previous wireless network usage.
16. The processing device of claim 14, wherein the one or more items of information comprise at least one of a history of usage of the at least one wireless network with respect to a time of day, a history of usage of the at least one wireless network with respect to a day of week, information from a scheduling application, location data, a mode in which the processing device is being used, or cellular communication information.
17. The processing device of claim 14, wherein the memory further comprises:
instructions for creating a schedule based on the predicted availability of the at least one wireless network;
instructions for changing a state of the processing device from an inactive state to an active state and using one of the at least one wireless network, based on the created schedule; and
instructions for exchanging information via the one of the at least one wireless network.
18. The processing device of claim 14, wherein the memory further comprises:
instructions for changing a state of the processing device from an inactive state to an active state and using one of the at least one wireless network, based, at least in part, on the predicted availability of the at least one wireless network; and
instructions for sending or receiving information via the connected one of the at least one wireless network.
19. The processing device of claim 14, wherein the memory further comprises:
instructions for determining a usage pattern for wireless network usage;
instructions for automatically changing a state of the processing device from an inactive state to an active state and using one of the at least one wireless network, based on the determined usage pattern for wireless network usage; and
instructions for automatically receiving at least one e-mail via the one of the at least one wireless network.
20. The processing device of claim 14, wherein the memory further comprises:
instructions for obtaining schedule information from a scheduling application;
instructions for scheduling the processing device to automatically change from an inactive state to an active state and for using one of the at least one wireless network, based, at least in part, on the scheduling information; and
instructions for automatically exchanging information via the one of the at least one wireless network.
US11/652,775 2007-01-12 2007-01-12 Adaptive optimizations for connecting to a wireless network Abandoned US20080170525A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/652,775 US20080170525A1 (en) 2007-01-12 2007-01-12 Adaptive optimizations for connecting to a wireless network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/652,775 US20080170525A1 (en) 2007-01-12 2007-01-12 Adaptive optimizations for connecting to a wireless network

Publications (1)

Publication Number Publication Date
US20080170525A1 true US20080170525A1 (en) 2008-07-17

Family

ID=39617693

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/652,775 Abandoned US20080170525A1 (en) 2007-01-12 2007-01-12 Adaptive optimizations for connecting to a wireless network

Country Status (1)

Country Link
US (1) US20080170525A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010105233A1 (en) * 2009-03-12 2010-09-16 Qualcomm Incorporated Scanning channels while a device is out of service
US20100321243A1 (en) * 2009-06-18 2010-12-23 Qualcomm Incorporated Background position fix prior to request
WO2011143672A1 (en) * 2010-05-14 2011-11-17 Qualcomm Incorporated Apparatus and method for mobile search based on search triggers
US8131283B1 (en) * 2009-02-27 2012-03-06 Sprint Communications Company L.P. Controlling mobile device roaming in association with monitoring an active event duration
US8270966B1 (en) 2009-02-27 2012-09-18 Sprint Communications Company L.P. Reducing mobile device roaming
US20130265935A1 (en) * 2012-04-04 2013-10-10 Seiko Epson Corporation Wireless communication device, wireless communication system, memory medium storing method and computer program
WO2014004743A3 (en) * 2012-06-29 2014-02-20 Microsoft Corporation Determining availability of an access network
US8832319B2 (en) * 2008-11-18 2014-09-09 Amazon Technologies, Inc. Synchronization of digital content
US9113391B2 (en) 2012-06-29 2015-08-18 Microsoft Technology Licensing, Llc Determining network availability based on geographical location
US9191420B2 (en) 2003-07-28 2015-11-17 Microsoft Technology Licensing, Llc Mobility in a multi-access communication network
US9351168B2 (en) 2010-06-29 2016-05-24 Commonwealth Scientific And Industrial Research Organisation Dynamic network configuration
US9439042B2 (en) 2012-06-29 2016-09-06 Microsoft Technology Licensing, Llc Determining suitability of an access network
US9542379B1 (en) 2012-09-19 2017-01-10 Amazon Technologies, Inc. Synchronizing electronic publications between user devices
US9723520B1 (en) 2005-12-20 2017-08-01 Microsoft Technology Licensing, Llc Location based mode switching for dual mode mobile terminals

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564055B1 (en) * 2000-01-21 2003-05-13 Telecommunication Systems, Inc. Intelligent roaming database (IRDB) updating
US6714987B1 (en) * 1999-11-05 2004-03-30 Nortel Networks Limited Architecture for an IP centric distributed network
US6807163B1 (en) * 1999-04-01 2004-10-19 Ericsson Inc. Adaptive rate channel scanning method for TDMA wireless communications
US20040209634A1 (en) * 2003-04-21 2004-10-21 Hrastar Scott E. Systems and methods for adaptively scanning for wireless communications
US20040209608A1 (en) * 2003-04-17 2004-10-21 Ntt Docomo, Inc. API system, method and computer program product for accessing content/security analysis functionality in a mobile communication framework
US20040213212A1 (en) * 2002-11-25 2004-10-28 Reding Craig L. Methods and systems for automatic communication line management based on device location
US6829481B2 (en) * 2001-05-15 2004-12-07 Novatel Wireless, Inc. Systems and methods for intelligent inter-system handoff
US20050096053A1 (en) * 2003-11-04 2005-05-05 Jing Liu Method and apparatus for scanning frequency channels for handoff candidates while minimizing battery consumption
US20060075090A1 (en) * 2004-09-15 2006-04-06 Bocking Andrew D Handheld electronic device including preferred network selection, and associated method
US20060084417A1 (en) * 2002-07-10 2006-04-20 Diego Melpignano Interface selection from multiple networks
US7116979B2 (en) * 2003-02-24 2006-10-03 Autocell Laboratories, Inc Wireless channel selection method and system using scanning for identifying access point
US20060245441A1 (en) * 2005-04-07 2006-11-02 Qualcomm Incorporated Methods and apparatus for conveying a delivery schedule to mobile terminals
US7167707B1 (en) * 2003-02-12 2007-01-23 Cingular Wireless Ii, L.L.C. Systems and methods for GSM selection
US20070230420A1 (en) * 2006-04-03 2007-10-04 Research In Motion Limited System and method for facilitating determination of mode and configuration of a wireless user equipment (UE) device
US20070259700A1 (en) * 2003-07-24 2007-11-08 Meier Robert C Uniform power save method for wireless stations
US20080120423A1 (en) * 2006-11-21 2008-05-22 Hall David N System and method of actively establishing and maintaining network communications for one or more applications
US7433329B2 (en) * 2004-04-07 2008-10-07 Cisco Technology, Inc. Aggregation scheduler

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807163B1 (en) * 1999-04-01 2004-10-19 Ericsson Inc. Adaptive rate channel scanning method for TDMA wireless communications
US6714987B1 (en) * 1999-11-05 2004-03-30 Nortel Networks Limited Architecture for an IP centric distributed network
US6564055B1 (en) * 2000-01-21 2003-05-13 Telecommunication Systems, Inc. Intelligent roaming database (IRDB) updating
US6829481B2 (en) * 2001-05-15 2004-12-07 Novatel Wireless, Inc. Systems and methods for intelligent inter-system handoff
US20060084417A1 (en) * 2002-07-10 2006-04-20 Diego Melpignano Interface selection from multiple networks
US20040213212A1 (en) * 2002-11-25 2004-10-28 Reding Craig L. Methods and systems for automatic communication line management based on device location
US7167707B1 (en) * 2003-02-12 2007-01-23 Cingular Wireless Ii, L.L.C. Systems and methods for GSM selection
US7116979B2 (en) * 2003-02-24 2006-10-03 Autocell Laboratories, Inc Wireless channel selection method and system using scanning for identifying access point
US20040209608A1 (en) * 2003-04-17 2004-10-21 Ntt Docomo, Inc. API system, method and computer program product for accessing content/security analysis functionality in a mobile communication framework
US20040209634A1 (en) * 2003-04-21 2004-10-21 Hrastar Scott E. Systems and methods for adaptively scanning for wireless communications
US20070259700A1 (en) * 2003-07-24 2007-11-08 Meier Robert C Uniform power save method for wireless stations
US20050096053A1 (en) * 2003-11-04 2005-05-05 Jing Liu Method and apparatus for scanning frequency channels for handoff candidates while minimizing battery consumption
US7433329B2 (en) * 2004-04-07 2008-10-07 Cisco Technology, Inc. Aggregation scheduler
US20060075090A1 (en) * 2004-09-15 2006-04-06 Bocking Andrew D Handheld electronic device including preferred network selection, and associated method
US20060245441A1 (en) * 2005-04-07 2006-11-02 Qualcomm Incorporated Methods and apparatus for conveying a delivery schedule to mobile terminals
US20070230420A1 (en) * 2006-04-03 2007-10-04 Research In Motion Limited System and method for facilitating determination of mode and configuration of a wireless user equipment (UE) device
US20080120423A1 (en) * 2006-11-21 2008-05-22 Hall David N System and method of actively establishing and maintaining network communications for one or more applications

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9191420B2 (en) 2003-07-28 2015-11-17 Microsoft Technology Licensing, Llc Mobility in a multi-access communication network
US9723520B1 (en) 2005-12-20 2017-08-01 Microsoft Technology Licensing, Llc Location based mode switching for dual mode mobile terminals
US8832319B2 (en) * 2008-11-18 2014-09-09 Amazon Technologies, Inc. Synchronization of digital content
US8131283B1 (en) * 2009-02-27 2012-03-06 Sprint Communications Company L.P. Controlling mobile device roaming in association with monitoring an active event duration
US8270966B1 (en) 2009-02-27 2012-09-18 Sprint Communications Company L.P. Reducing mobile device roaming
KR101344401B1 (en) * 2009-03-12 2013-12-30 퀄컴 인코포레이티드 Scanning channels while a device is out of service
CN102349334A (en) * 2009-03-12 2012-02-08 高通股份有限公司 Scanning channels while a device is out of service
US8090395B2 (en) 2009-03-12 2012-01-03 Qualcomm Incorporated Scanning channels while a device is out of service
WO2010105233A1 (en) * 2009-03-12 2010-09-16 Qualcomm Incorporated Scanning channels while a device is out of service
US20100234021A1 (en) * 2009-03-12 2010-09-16 Qualcomm Incorporated Scanning Channels While a Device is Out of Service
US20100321243A1 (en) * 2009-06-18 2010-12-23 Qualcomm Incorporated Background position fix prior to request
WO2011143672A1 (en) * 2010-05-14 2011-11-17 Qualcomm Incorporated Apparatus and method for mobile search based on search triggers
US9100899B2 (en) 2010-05-14 2015-08-04 Qualcomm Incorporated Apparatus and method for mobile search based on search triggers
US9351168B2 (en) 2010-06-29 2016-05-24 Commonwealth Scientific And Industrial Research Organisation Dynamic network configuration
US9226334B2 (en) * 2012-04-04 2015-12-29 Seiko Epson Corporation Wireless communication device, wireless communication system, memory medium storing method and computer program
US20130265935A1 (en) * 2012-04-04 2013-10-10 Seiko Epson Corporation Wireless communication device, wireless communication system, memory medium storing method and computer program
US9113391B2 (en) 2012-06-29 2015-08-18 Microsoft Technology Licensing, Llc Determining network availability based on geographical location
US9137746B2 (en) 2012-06-29 2015-09-15 Microsoft Technology Licensing, Llc Determining availability of an access network
CN104380808A (en) * 2012-06-29 2015-02-25 微软公司 Determining availability of an access network
WO2014004743A3 (en) * 2012-06-29 2014-02-20 Microsoft Corporation Determining availability of an access network
US9439042B2 (en) 2012-06-29 2016-09-06 Microsoft Technology Licensing, Llc Determining suitability of an access network
US9661553B2 (en) 2012-06-29 2017-05-23 Microsoft Technology Licensing, Llc Determining network availability based on geographical location
US10154452B2 (en) 2012-06-29 2018-12-11 Microsoft Technology Licensing, Llc Determining suitability of an access network
US9542379B1 (en) 2012-09-19 2017-01-10 Amazon Technologies, Inc. Synchronizing electronic publications between user devices

Similar Documents

Publication Publication Date Title
US20080170525A1 (en) Adaptive optimizations for connecting to a wireless network
US10021231B2 (en) Managing contact groups from subset of user contacts
US9826081B2 (en) Systems and methods for multi-device wireless SIM management
US9323416B2 (en) Managing linked contact records containing information from multiple source records
EP3355624B1 (en) Control of an apparatus with a plurality of communication lines for communication with a base station based on the number of lines in standby state
JP5071102B2 (en) Communication control method, radio base station information sharing method between radio terminal and radio base station controller, radio terminal communication control program, radio base station communication control program, radio terminal, radio base station, and radio base station Control device
US8965448B2 (en) Multimode access control method and multimode mobile station
CN105493574A (en) Method and system for optimizing power consumption in multi-sim mobile device
CN103703746A (en) System and method for prioritizing requests to a SIM
CN103902333A (en) Method for automatically unloading application of mobile terminal and mobile terminal
US10306643B2 (en) System and method for improved band-channel scanning and network switching
CN103167171B (en) Selection method and mobile terminal of contact mode
GB2305822A (en) Sending a communication unit parameter to a plurality of radio communication units; encryption key updating
CN103200247B (en) A kind of data download method and PC download client
CN104247518A (en) Cell search control method, cell search control apparatus, mobile communication terminal, computer program and storage medium
US20100046385A1 (en) Wireless Communication Terminal, Communication Control Method of Wireless Communication Terminal, and Wireless Communication System
CN102378286A (en) Frequency spectrum switching method and system for centralized networks, user terminal and base station
CN104133703A (en) Method and device for determining software not used frequently
US9078170B2 (en) System and method for network discovery
EP2871823B1 (en) Method and terminal for processing message service
US20080247390A1 (en) System and method for correlating messages within a wireless transaction
US20090312006A1 (en) Customisation of a radio communication terminal
US20080233988A1 (en) Method and Apparatus for Neighbor Cell Synchronization
Alfa et al. A discrete time queueing model of cognitive radio networks with multi-modal overlay/underlay switching service levels
CN103415028A (en) Service launching prompting method and network cell equipment

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0509

Effective date: 20141014