IP Library Granted Patent US 7,457,805
Granted Patent B2
US 7,457,805 · App. 10/382,943 · Granted Nov 25, 2008

Method and system for processing HTTP requests creating a new map for an entire namespace that is associated with the request and that maps the name extension to the further content type within namespace

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,457,805
App. No.
10/382,943
Granted
Nov 25, 2008
Kind
B2
Abstract

Various embodiments of the invention are directed to closely integrating functionality between an internet server and a WebDAV tool. Areas of specific focus in this document include delegation of duties between the internet server and the WebDAV tool, efficient management of a resource's content-type, support for segregation of a namespace into separate virtual roots, and determinations of whether to invoke certain processing extensions to handle requests for a given HTTP verb.

Claims (55)

1. A method of associating at least one name extension of at least one resource with a plurality of different content types, the method comprising: facilitating hosting a resource in a virtual server namespace such that a content type returned in response to a get request is the same content type received with a put request from a client, wherein the virtual server namespace is based on a particular multi-purpose internet mail extension (MIME) map that maps a specified resource name extension and content type pair;

defining a first mapping scenario having a first scope, the first mapping scenario associating the name extension for the resource with a first content type for the resource within the first scope, wherein defining the first mapping scenario includes defining a map effective for a file directory such that all resources placed in the file directory having the name extension are associated with the first content type, and wherein the first content type indicates a first format of the resource;

receiving a request falling within the first scope and specifying the name extension of the resource in connection with a further content type that is different than the first content type, wherein receiving a request includes receiving a request to store a plurality of resources in the directory, wherein at least two of the resources both have the name extension, wherein a first one of the two resources is of the first content type, and wherein a second of the two resources is of the further content type;

creating at least a further mapping scenario having a further scope which includes the request and is at least partially within the first scope, the further mapping scenario associating the name extension of the resource with the further content type within the further scope, wherein the further content type indicates a different format of the resource, and wherein creating at least the further mapping scenario includes creating a further mapping scenario that associates the second of the two resources with the further content type while the first mapping scenario associates the first one of the two resources with the first content type;

wherein receiving a request includes receiving a request to create a subdirectory of the file directory, and wherein creating the further mapping scenario includes creating a mapping scenario that associates the name extension with the further content type for any files that are stored in the created subdirectory;

determining that the first mapping scenario specifies a content type other than the further content type that is specified in the request for the name extension;

wherein creating the further mapping scenario comprises creating a new map for an entire namespace that is associated with the request and that maps the name extension to the further content type within the namespace; and

storing at least the further mapping scenario in a computer-readable storage medium.

2. The method of claim 1 , wherein said creating comprises setting a content-type property for a resource that is associated with the resource name extension.

3. A computer readable storage medium having computer-executable instructions thereon which, when executed by a computer, cause the computer to perform steps comprising:

facilitating hosting a resource in a virtual server namespace such that a content type returned in response to a get request is the same content type received with a put request from a client, wherein the virtual server namespace is based on a particular multi-purpose internet mail extension (MIME) map that maps a specified resource name extension and content type pair;

defining a first mapping scenario having a first scope, the first mapping scenario associating the name extension for the resource with a first content type for the resource within the first scope, wherein defining the first mapping scenario includes defining a map effective for a file directory such that all resources placed in the file directory having the name extension are associated with the first content type, and wherein the first content type indicates a first format of the resource;

receiving a request falling within the first score and specifying the name extension of the resource in connection with a further content type that is different than the first content type, wherein receiving a request includes receiving a request to store a plurality of resources in the directory, wherein at least two of the resources both have the name extension, wherein a first one of the two resources is of the first content type, and wherein a second of the two resources is of the further content type;

creating at least a further mapping scenario having a further scope which includes the request and is at least partially within the first scope, the further mapping scenario associating the name extension of the resource with the further content type within the further scope, wherein the further content type indicates a different format of the resource, and wherein creating at least the further mapping scenario includes creating a further mapping scenario that associates the second of the two resources with the further content type while the first mapping scenario associates the first one of the two resources with the first content type;

wherein receiving a request includes receiving a request to create a subdirectory of the file directory, and wherein creating the further mapping scenario includes creating a mapping scenario that associates the name extension with the further content type for any files that are stored in the created subdirectory;

determining that the first mapping scenario specifies a content type other than the further content type that is specified in the request for the name extension; wherein creating the further mapping scenario comprises creating a new map for an entire namespace that is associated with the request and that maps the name extension to the further content type within the namespace; and

storing at least the further mapping scenario in a computer-readable storage medium.

4. A method of associating a name extension associated with a resource with a plurality of content types, the method comprising: facilitating hosting a resource in a virtual server namespace such that a content type returned in response to a get request is the same content type received with a put request from a client, wherein the virtual server namespace is based on a particular multi-purpose internet mail extension (MIME) map that maps a specified resource name extension and content type pair;

receiving a request that specifies a name extension associated with a resource and a first content type associated with a resource, wherein the first content type indicates a first format for the resource, wherein a first mapping scenario associates the specified name extension with the first content type;

in an event the specified name extension associated with the resource is associated with more than the specified first content type associated with the resource, creating a new a multi-purpose internet mail extension (MIME) map for a URL's complete namespace containing only a mapping for a URL extension to the specified first content type, wherein the new MIME map for the URL's complete namespace contains only the mapping for the URL extension to the specified first content type ensuring that only the existing specified resource is scoped by the new MIME map;

in an event the specified name extension associated with the resource is not associated with any content type of a plurality of content types in a particular MIME map, ascertaining whether an association exists between the specified name extension associated with the resource and any existing content type in any scoping MIME map, and when no association exists between the specified name extension associated with the resource and any existing content type in any scoping MIME map, creating a new entry for the particular MIME map for the specified name extension associated with the resource and the specified first content type; and

creating at least a portion of a new mapping scenario in response to ascertaining that the first mapping scenario is inadequate to map the specified name extension to a second content type contained in at least a second request, wherein the second content type indicates a second format for the resource, and wherein the specified name extension is associated with the first and the second content types;

wherein:

the ascertaining comprises:

ascertaining whether an existing content type is associated with the specified name extension; and ascertaining whether an existing map specifies a different content type than one that is specified by the request for the specified name extension; and

the creating comprises:

creating a new entry to a map for the specified name extension and content type if an existing content type is not associated with the specified name extension; and

creating a new map for an entire namespace that is associated with the request that contains the mapping for the specified name extension and the specified content type; and

storing at least the new mapping scenario on a computer-readable storage medium.

5. The method of claim 4 , wherein said creating comprises setting a content-type property for a resource that is associated with the specified name extension.

6. The method of claim 4 , wherein:

the ascertaining comprises ascertaining whether a map exists for the specified content type and name extension; and

the creating comprises creating a new map for a server namespace that hosts a resource that is specified in the request.

7. A system configured to associate a name extension for a resource with a plurality of different content types, the system comprising:

a server configured to receive requests for resources having the name extension and a particular content type;

a memory operably associated with the server and configured to store at least a first mapping scenario that maps the name extension to a first content type within a scope of a first namespace, wherein the first content type indicates a first format of the resource; and

a processor adapted to create at least a further mapping scenario that maps the requested resource name extension to at least a further content type within a scope of a second namespace that is at least partially within the scope of the first namespace, if the first mapping scenario does not map the requested resource name extension to the further content type, wherein the further content type indicates a different format of the resource, such that:

in an event the requested resource name extension is associated with more than one content type, the processor causing a new multipurpose internet mail extension MIME) map for a URL's complete namespace containing only a mapping for a URL extension to the particular content type, wherein the new MIME map for the URL's complete namespace contains only the mapping for the URL extension to the particular content type, ensuring that only the existing requested resource is scoped by the new MIME map; and

in an event the requested resource name extension is not associated with any content type in a particular MIME map, ascertaining whether an association exists between the requested name extension and any existing content type in any scoping MIME map, and when no association exists between the requested resource name extension and any existing content type in any scoping MIME map, creating a new entry for the particular MIME map for the requested resource name extension and the particular content type;

wherein the processor is configured to set a content type property for a resource that is associated with the name extension such that the content type property is returned with the resource when a subsequent get request is received for the resource; and

wherein the memory is further configured to store at least the further mapping scenario.

8. A computer readable storage medium having computer-executable instructions thereon which, when executed, cause a computer to perform a method of associating a name extension associated with a resource with a plurality of content types, the method comprising:

facilitating hosting a resource in a virtual server namespace such that a content type returned in response to a get request is the same content type received with a put request from a client, wherein the virtual server namespace is based on a particular multi-purpose internet mail extension (MIME) map that maps a specified resource name extension and content type pair;

receiving a request that specifies a name extension associated with a resource and a first content type associated with a resource, wherein the first content type indicates a first format for the resource, wherein a first mapping scenario associates the specified name extension with the first content type;

in an event the specified name extension associated with the resource is associated with more than the specified first content type associated with the resource, creating a new a multi-purpose internet mail extension (MIME) map for a URL's complete namespace containing only a mapping for a URL extension to the specified first content type, wherein the new MIME map for the URL's complete namespace contains only the mapping for the URL extension to the specified first content type ensuring that only the existing specified resource is scoped by the new MIME map;

in an event the specified name extension associated with the resource is not associated with any content type of a plurality of content types in a particular MIME map, ascertaining whether an association exists between the specified name extension associated with the resource and any existing content type in any scoping MIME map, and when no association exists between the specified name extension associated with the resource and any existing content type in any scoping MIME map, creating a new entry for the particular MIME map for the specified name extension associated with the resource and the specified first content type; and

creating at least a portion of a new mapping scenario in response to ascertaining that the first mapping scenario is inadequate to map the specified name extension to a second content type contained in at least a second request, wherein the second content type indicates a second format for the resource, and wherein the specified name extension is associated with the first and the second content types;

wherein:

the ascertaining comprises:

ascertaining whether an existing content type is associated with the specified name extension; and

ascertaining whether an existing map specifies a different content type than one that is specified by the request for the specified name extension; and

the creating comprises:

creating a new entry to a map for the specified name extension and content type if an existing content type is not associated with the specified name extension; and

creating a new map for an entire namespace that is associated with the request that contains the mapping for the specified name extension and the specified content type; and

storing at least the new mapping scenario on a computer-readable storage medium.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →