← Back to Patent Explorer
US6990513B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Distributed computing services platform

Assignee: Microsoft Technology Licensing LLC
•
Filing: 2001-06-22
•
Granted: 2006-01-24
•
Expires: 2021-06-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A server federation cooperatively interacts to fulfill service requests by communicating using data structures that follow a schema in which the meaning of the communicated data is implied by the schema. Thus, in addition to the data being communicated, the meaning of the data is also communication allowing for intelligent decisions and inferences to be made based on the meaning of the data. Cooperative interaction is facilitated over a wide variety of networks by messaging through a common API that supports multiple transport mechanisms. Also, mid-session transfer between client devices is facilitated by schema and the transport-independent messaging structure. The user interfaces of the client devices will appear consistent even if the client devices have different user interface capabilities.

Inventors

  • 👤 Joseph Belfiore
  • 👤 David Campbell
  • 👤 Steve Capps
  • 👤 Steven Cellini
  • 👤 Charles Fitzgerald
  • 👤 Vivek Gundotra
  • 👤 Mark Lucovsky
  • 👤 Paul Maritz
  • 👤 Amit Mital
  • 👤 Eric Rudder
  • 👤 Keith Short
  • 👤 Kaviraj Singh
  • 👤 Peter Spiro
  • 👤 Tandy Trower
  • 👤 David Vaskevitch

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 20:49
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F16/00; G06F16/20; G06F16/25; G06F16/256; G06F16/90; G06F16/95; G06F16/958; G06F9/44; G06F9/451; H; H04; H04L; H04L67/00; H04L67/01; H04L67/10; H04L67/1001; H04L67/02; H04L67/1004; H04L67/1008; H04L67/1029; H04L67/1031; H04L67/14; H04L67/142

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 319 words
In a server federation that includes a plurality of servers that communicate with a plurality of client devices, a method for fulfilling a request comprising the following: a first server of the plurality of servers receiving a network request for a service across a transport-independent messaging infrastructure, the network request structured in accordance with a schema accessible to the plurality of servers and the plurality of client devices, the meaning of the network request being implied by the schema; the first server recognizing the meaning of the network request implied by the schema; the first server determining that it can access some of the information needed in order to respond to the network request without having to contact other servers based on the recognized meaning of the network request; the first server determining that further information is needed from at least a second server in order to respond to the network request based on the recognized meaning of the network request; the first server structuring a further network request for the further information in response to determining that the further information is needed, the further network request structured in accordance with a second schema; the first server dispatching the further network request to the second server using the transport-independent messaging infrastructure, and which includes a messaging component communicating with a common Application Program Interface that supports a plurality of transports, the Application Program Interface providing common semantics to messaging components at servers in the server federation and to messaging applications at clients in the plurality of clients regardless of the underlying transport associated with a network message; the first server receiving a network response from the second server across the transport-independent messaging infrastructure, the network response including the further information and the network response being structured in accordance with the second schema; and the first server using the further information to respond to the network request for the service.
Claim 2
Dependent Claim 319 words
In a server federation that includes a plurality of servers that communicate with a plurality of client devices, a method for fulfilling a request comprising the following: a first server of the plurality of servers receiving a network request for a service across a transport-independent messaging infrastructure, the network request structured in accordance with a schema accessible to the plurality of servers and the plurality of client devices, the meaning of the network request being implied by the schema; the first server recognizing the meaning of the network request implied by the schema; the first server determining that it can access some of the information needed in order to respond to the network request without having to contact other servers based on the recognized meaning of the network request; the first server determining that further information is needed from at least a second server in order to respond to the network request based on the recognized meaning of the network request; the first server structuring a further network request for the further information in response to determining that the further information is needed, the further network request structured in accordance with a second schema; the first server dispatching the further network request to the second server using the transport-independent messaging infrastructure, and which includes a messaging component communicating with a common Application Program Interface that supports a plurality of transports, the Application Program Interface providing common semantics to messaging components at servers in the server federation and to messaging applications at clients in the plurality of clients regardless of the underlying transport associated with a network message; the first server receiving a network response from the second server across the transport-independent messaging infrastructure, the network response including the further information and the network response being structured in accordance with the second schema; and the first server using the further information to respond to the network request for the service.
Claim 3
Dependent Claim 39 words
A method in accordance with claim 1 , wherein the first server structuring a further network request for further information comprises the following: the first server structuring the further network request in accordance with an eXtensible Markup Language (XML).
Claim 4
Dependent Claim 50 words
A method in accordance with claim 1 , wherein the first server receiving a network response from the second server comprises the following: the first server receiving the network response from the second server in the form of a data structure structured in accordance with an eXtensible Markup Language (XML).
Claim 5
Dependent Claim 52 words
A method in accordance with claim 1 , wherein the first server dispatching the further network request for the further information to the second server using a transport-independent messaging infrastructure comprises the following: the first server dispatching the further network request for the further information using a Simple Object Access Protocol (SOAP).
Claim 6
Dependent Claim 40 words
A method in accordance with claim 4 , wherein the first server structuring a further network request for the further information comprises the following: the first server structuring the further network request in accordance with an eXtensible Markup Language (XML).
Claim 7
Dependent Claim 41 words
A method in accordance with claim 1 , wherein the first server receiving a network response from the second server comprises the following: the first server receiving the network response from the second server using a Simple Object Access Protocol (SOAP).
Claim 8
Dependent Claim 51 words
A method in accordance with claim 6 , wherein the first server receiving a network response from the second server further comprises the following: the first server receiving the network response from the second server in the form of a data structure structured in accordance with an eXtensible Markup Language (XML).
Claim 9
Dependent Claim 61 words
A method in accordance with claim 1 , wherein the first server dispatching the further network request for the further information to the second server using a transport-independent messaging infrastructure comprises the following: the common Application Program Interface communicating with an appropriate one of the plurality of transports in response to the messaging component communicating with the common Application Program Interface.
Claim 10
Dependent Claim 40 words
A method in accordance with claim 8 , wherein the common Application Program Interface communicating with an appropriate one of the plurality of transports comprises the following: the common Application Program Interface communicating with a HyperText Transport Protocol (HTTP) transport.
Claim 11
Dependent Claim 38 words
A method in accordance with claim 8 , wherein the common Application Program Interface communicating with an appropriate one of the plurality of transports comprises the following: the common Application Program Interface communicating with an MSMQ binary transport.
Claim 12
Dependent Claim 37 words
A method in accordance with claim 1 , wherein the common Application Program Interface communicating with an appropriate one of the plurality of transports comprises the following: the common Application Program Interface communicating with a multicast transport.
Claim 13
Dependent Claim 37 words
A method in accordance with claim 1 , wherein the common Application Program Interface communicating with an appropriate one of the plurality of transports comprises the following: the common Application Program Interface communicating with an SMTP transport.
Claim 14
Dependent Claim 38 words
A method in accordance with claim 1 , wherein the first server receiving a network request for service comprises the following: the first server receiving the network request for service from a third server in the server federation.
Claim 15
Dependent Claim 43 words
A method in accordance with claim 1 , wherein the first server of the plurality of servers receiving a network request for service comprises the following: the first server receiving the network request for service from a client of the plurality of clients.
Claim 16
Dependent Claim 86 words
The method as recited in claim 1 , wherein a first server of the plurality of servers receiving a network request structured in accordance with a schema comprises the first server receiving a network request structured in accordance with a schema stored in schema store, the schema store accessible to servers in the server federation and clients in the one or more clients, the schema store providing standardized schema services to servers and clients to facilitate meaningful communication and information exchange across the servers and clients.
Claim 17
Dependent Claim 22 words
The method as recited in claim 15 , wherein the standardized schema services include storing, finding, querying, publishing, and sharing schema information.
Claim 18
Dependent Claim 20 words
The method as recited in claim 15 , wherein the schema store is distributed throughout servers in the server federation.
Claim 19
Dependent Claim 39 words
The method as recited in claim 15 , wherein the schema store stores core schemas defining data formats for a subset of common data items used by a plurality of different applications residing at servers in the server federation.
Claim 20
Dependent Claim 84 words
The method as recited in claim 1 , wherein a messaging component communicating with a common Application Program Interface that supports a plurality of transports comprises an act of a messaging component communicating with a common Application Program Interface that provides one or more services for transports that do not inherently implement the one or more services so as to increase the compatibility of transports that do not support the one or more services with transports that do support the one or more services.
Claim 21
Dependent Claim 57 words
The method as recited in claim 1 ,wherein the first server determining that further information is needed from at least a second server in order to respond to the network request comprises the first server determining that is has some but not all of the information that is needed in order to respond to the network request.
Claim 22
Dependent Claim 19 words
The method as recited in claim 1 , wherein the schema and the second schema are the same schema.
Claim 23
Dependent Claim 341 words
A computer program product for use in a first server of a server federation, the server federation including a plurality of servers that communicate with a plurality of client devices, the computer program product including a computer-readable medium having stored thereon the following: computer-executable instructions for detecting the receipt of a network request for a service across a transport-independent messaging infrastructure, the network request structured in accordance with a schema accessible to the plurality of servers and the plurality of client devices, the meaning of the network request being implied by the schema; computer-executable instructions for recognizing the meaning of the network request implied by the schema; computer-executable instructions for determining that the first server can access some of the information needed in order to respond to the network request without having to contact other servers based on the recognized meaning of the network request; computer-executable instructions for determining that further information is needed from at least a second server in order to respond to the network request based on the recognized meaning of the network request; computer-executable instructions for structuring a further network request for the further information in response to determining that the further information is needed, the further network request structured in accordance with a second schema; computer-executable instructions for causing the further network request to be dispatched to the second server using the transport-independent messaging infrastructure, and which includes a messaging component communicating with a common Application Program Interface that supports a plurality of transports, the Application Program Interface providing common semantics to messaging components at servers in the server federation and to messaging applications at clients in the plurality of clients regardless of the underlying transport associated with a network message; computer-executable instructions for detecting the receipt of a network response from the second server across the transport-independent messaging infrastructure, the network response including the further information and the network response being structured in accordance with the second schema; and computer-executable instructions for using the further information to respond to the network request for the service.
Claim 24
Dependent Claim 341 words
A computer program product for use in a first server of a server federation, the server federation including a plurality of servers that communicate with a plurality of client devices, the computer program product including a computer-readable medium having stored thereon the following: computer-executable instructions for detecting the receipt of a network request for a service across a transport-independent messaging infrastructure, the network request structured in accordance with a schema accessible to the plurality of servers and the plurality of client devices, the meaning of the network request being implied by the schema; computer-executable instructions for recognizing the meaning of the network request implied by the schema; computer-executable instructions for determining that the first server can access some of the information needed in order to respond to the network request without having to contact other servers based on the recognized meaning of the network request; computer-executable instructions for determining that further information is needed from at least a second server in order to respond to the network request based on the recognized meaning of the network request; computer-executable instructions for structuring a further network request for the further information in response to determining that the further information is needed, the further network request structured in accordance with a second schema; computer-executable instructions for causing the further network request to be dispatched to the second server using the transport-independent messaging infrastructure, and which includes a messaging component communicating with a common Application Program Interface that supports a plurality of transports, the Application Program Interface providing common semantics to messaging components at servers in the server federation and to messaging applications at clients in the plurality of clients regardless of the underlying transport associated with a network message; computer-executable instructions for detecting the receipt of a network response from the second server across the transport-independent messaging infrastructure, the network response including the further information and the network response being structured in accordance with the second schema; and computer-executable instructions for using the further information to respond to the network request for the service.
Claim 25
Dependent Claim 19 words
A computer program product in accordance with claim 22 , wherein the computer-readable medium is a physical storage medium.
Claim 26
Dependent Claim 45 words
A computer program product in accordance with claim 22 , wherein the computer-executable instructions for structuring a further network request for the further information utilizing a second schema comprise the following: computer-executable instructions for structuring the request in accordance with an eXtensible Markup Language (XML).
Claim 27
Dependent Claim 55 words
A computer program product in accordance with claim 22 , wherein the computer-executable instructions for causing the further network request for the further information to be dispatched to the second server using a transport-independent messaging infrastructure comprise the following: computer-executable instructions for communicating with a common Application Program Interface that supports a plurality of transports.
Claim 28
Dependent Claim 83 words
A computer program product in accordance with claim 25 , wherein the computer-executable instructions for causing the further network request for the further information to be dispatched to the second server using a transport-independent messaging infrastructure further comprise the following: computer-executable instructions for implementing the common Application Program Interface such that the common Application Program Interface communicates with an appropriate one of the plurality of transports in response to the execution of the computer-executable instructions for communicating with the common Application Program Interface.

References Cited (Backward Citations)

US5252951A Cited
US5265014A Cited
US6021403A Cited
US6457066B1 Cited
US6012098A Cited
US6327608B1 Cited
US6697849B1 Cited
US6356933B2 Cited
US6557026B1 Cited
US6418448B1 Cited
US6772216B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2009-01-23 2009-07-25 2010-01-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2013-01-23 2013-07-25 2014-01-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2017-01-23 2017-07-25 2018-01-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag