Pattern coalescing for remote wake-enabled applications

US9491032B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9491032-B2
Application numberUS-201314019243-A
CountryUS
Kind codeB2
Filing dateSep 5, 2013
Priority dateMay 29, 2013
Publication dateNov 8, 2016
Grant dateNov 8, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In various embodiments, methods and systems for managing wake-enabled transport connections of wake-enabled applications is provided. A set of ports is designated as a wake-enabled port set. An operating system (OS) of a computing device running applications plumbs the multiport wake pattern to the one or more network interface controllers (NIC) of the computing device. A wake-enabled application acquires a port from the wake-enabled port set. The OS makes a determination that the application is wake-enabled and as such, assigns a port, from the wake-enable port set, to the wake-enabled application. Upon receiving a packet at the NIC, a determination is made whether the packet corresponds to a wake-enabled transport connection based on comparing the packet to the multiport wake pattern. Upon matching the packet to the multiport wake pattern, the NIC communicates with the OS to wake a portion of the wake-enabled application associated with the wake-enabled transport connection.

First claim

Opening claim text (preview).

What is claimed is: 1. One or more computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations for managing wake-enabled applications, the operations comprising: receiving a packet, wherein the packet is matchable to a multiport wake pattern, and the multiport wake pattern corresponds to a reserved port set having at least a wake-enabled port set, the wake-enabled port set is assigned to a network controller interface as a wake pattern through the multiport wake pattern; determining that the packet corresponds to a wake-enabled transport connection of a wake-enabled application, based on identifying that a port in the packet matches a port in the wake-enabled port set, wherein the multiport wake pattern is a wild card pattern corresponding to the wake-enabled port set comprising a plurality of ports, and the plurality of ports are assigned to wake-enabled applications to support wake functionality via the network controller interface based on the multiport wake pattern and corresponding ports of the wake-enabled applications; and waking at least a portion of the wake-enabled application associated with the wake-enabled transport connection, wherein waking the wake-enabled application comprises: identifying the port and an IP address in the packet; and matching the port and the IP address to the wake-enabled transport connection that uses a port matched in the wake-enabled port set via the multiport wake pattern. 2. The media of claim 1 , wherein the packet is received when the wake-enabled application is in a suspended state. 3. The media of claim 1 , wherein a port of the wake-enabled transport connection is assigned from the wake-enabled port set to the wake-enabled transport connection when creating the wake-enabled transport connection. 4. The media of claim 1 , wherein the multiport wake pattern is assigned as a bit pattern with a mask, wherein the multiport wake pattern is a single bit pattern supporting wake functionality for multiple source ports in the wake-enabled port set. 5. The media of claim 4 , wherein comparing the packet to the multiport wake pattern comprises: identifying the port in the packet; and matching the port in the packet to a port in the wake-enabled port set associated with the multiport wake pattern using bit masks of the multiport wake pattern, the multiport wake pattern based on the bit masks is matchable to an entire set of the wake-enabled port set. 6. The media of claim 4 , wherein the wake-enabled port set is a non-contiguous port range. 7. The media of claim 4 , wherein the wake-enabled port set is a contiguous port range. 8. The media of claim 4 , wherein a selected port or port set from the set of wake-enabled port set is selected specifically for one of the following: a user; a process; and an application. 9. The media of claim 1 , wherein waking at least a portion of the wake-enabled application comprises transitioning the wake-enabled application from a suspended state to an active state. 10. A system to manage wake-enabled applications, the system comprising: a processor and a memory configured for providing computer program instructions to the processor; an operating system configured to: reserve a reserved port set having a wake-enabled port set and a non-wake-enabled port set; assign a port from the reserved port set; and assign a multiport wake pattern corresponding to the wake-enabled port set, wherein the multiport wake pattern is a wild card pattern supporting wake functionality for multiple source ports in the wake-enabled port set, the wake-enabled port set is assigned to a network controller interface as a wake pattern through the multiport wake pattern; a multiport wake pattern component having a network interface controller, the multiport wake pattern component configured to: receive a packet; determine that the packet corresponds to a wake-enabled transport connection of a wake-enabled application, based on identifying that a port in the packet matches a port in the wake-enabled port set; and facilitate waking at least a portion of the wake-enabled application associated with the wake-enabled transport connection, wherein waking the wake-enabled application comprises: identifying the port and an IP address in the packet; and matching the port and the IP address to the wake-enabled transport connection that uses a port matched in the wake-enabled port set via the multiport wake pattern; and a wake-enabled application configured to: receive a wake command to wake at least a portion of the wake-enabled application. 11. The system of claim 10 , wherein the operating system dynamically determines the reserved port set, wherein the reserved port set is not hardcoded to the operating system. 12. The system of claim 10 , wherein the operating system includes a known reserved port set comprising the wake-enabled port set and the non-wake-enabled port set, wherein the operating system configures transport connections for one or more applications not specifically bound to a port number. 13. The system of claim 10 , wherein the operating system supports a plurality of network interface controllers, wherein each of the network interface controllers is assigned the multiport wake pattern. 14. The system of claim 10 , wherein the multiport wake pattern component is further configured to: support a plurality of internet protocol (IP) addresses, wherein a first IP address supports one or more specific-bind wake-enabled applications and a second IP address supports one or more dynamic-bind wake-enabled applications, and wherein the second IP address supports multiport wake patterns. 15. The system of claim 10 , the multiport wake pattern component is further configured to: deliver the packet to the operating system to wake the wake-enabled application; and the operating system is further configured to: wake at least a portion of the wake-enabled application associated with the wake-enabled transport connection operating based on the port, the port is matched in the multiport wake pattern; and queue the packet for delivery to the wake-enabled transport connection. 16. The system of claim 10 , wherein the operating system is further configured to: assign the port from the wake-enabled port set upon a determination that a transport connection is wake-enabled; and assign the port from the non-wake-enabled port set upon a determination that a transport connection is not wake-enabled. 17. A computer-implemented method for managing wake-enabled transport connections of wake-enabled applications based on multiport wake patterns, the method comprising: receiving a packet, wherein the packet is matchable to a multiport wake pattern, and the multiport wake pattern corresponds to a reserved port set having at least a wake-enabled port set, the wake-enabled port set is assigned to a network controller interface as a wake pattern through the multiport wake pattern; determining that the packet matches the multiport wake pattern based on identifying that a port in the packet matches a port in the wake-enabled port set, wherein the multiport wake pattern is a wild card pattern corresponding to the wake-enabled port set comprising a plurality of ports, wherein the packet corresponds to a wake-enabled transport connection of a wake-enabled application; waking at least a portion of the wake-enabled application associated with the wake-enabled transport connection, wherein waking the wake-enabled applicati

Assignees

Inventors

Classifications

  • Suspend and resume; Hibernate and awake · CPC title

  • Cross-Sectional Technologies · mapped topic

  • Power management, i.e. event-based initiation of a power-saving mode · CPC title

  • H04L12/12Primary

    Arrangements for remote connection or disconnection of substations or of equipment thereof · CPC title

  • by switching off individual functional units in the computer system · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9491032B2 cover?
In various embodiments, methods and systems for managing wake-enabled transport connections of wake-enabled applications is provided. A set of ports is designated as a wake-enabled port set. An operating system (OS) of a computing device running applications plumbs the multiport wake pattern to the one or more network interface controllers (NIC) of the computing device. A wake-enabled applicati…
Who is the assignee on this patent?
Microsoft Corp, Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L12/12. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 08 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).