US20050165773A1 - Executing dynamically assigned functions while providing services - Google Patents

Executing dynamically assigned functions while providing services Download PDF

Info

Publication number
US20050165773A1
US20050165773A1 US11/086,590 US8659005A US2005165773A1 US 20050165773 A1 US20050165773 A1 US 20050165773A1 US 8659005 A US8659005 A US 8659005A US 2005165773 A1 US2005165773 A1 US 2005165773A1
Authority
US
United States
Prior art keywords
request
computer
processing
functions
response
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/086,590
Inventor
Ferhan Elvanoglu
Shaun Pierce
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/086,590 priority Critical patent/US20050165773A1/en
Publication of US20050165773A1 publication Critical patent/US20050165773A1/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

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports

Definitions

  • the present invention relates to the field of computer services. Specifically, the present invention relates to methods, systems, and computer program products for applying one or more functions during processing that may occur in a server providing one or more services.
  • monitoring services for purposes of debugging, performance, hardware problems, system attacks, and the like, often involves various complex issues. For example, services by nature tend to be accessed by large numbers of clients. The shear volume of transactions can make monitoring services a significant exercise. Moreover, monitoring itself may introduce some amount of processing overhead. While the overhead for a single transaction is relatively small, the aggregate overhead for a large number of transactions may result in unacceptable levels of performance and skew any conclusions that are reached from the monitoring.
  • monitoring often begins by detecting some type of high-level irregularity. Once discovered, the high-level irregularity may lead to more specific monitoring of increasingly specific processing or functionality until the problem's cause is discovered and corrected. After a particular problem is corrected, monitoring often returns back to the high-level system view.
  • the iterative process of moving back and forth between high-level system monitoring and relatively lower level monitoring of specific service processing or functionality may require shutting services and/or servers down and restarting them.
  • certain monitoring tools may require significant expertise to use, including programming skills. For many, the level of skill required may reduce the effectiveness of a particular monitoring tool or prevent its use all together.
  • monitoring tools are often specific to the environment in which they run, requiring administrators of heterogeneous systems to use different monitoring tools for each distinct system. Accordingly, methods, systems, and computer program products are desired for dynamically applying a function during any of various processing steps that may occur in providing a service to a client system.
  • the present invention extends to methods, systems and computer products for dynamically executing one or more functions at any of one or more processing steps that may occur in providing a service to a client system.
  • executing the one or more functions during identified processing steps provides significant flexibility for dynamically monitoring the operation of the service being analyzed. By identifying particular processing steps that are executed during operation of the service, specific functions may be designated for execution when the processing steps occur. These specific functions are dynamically associated with the processing steps so that the type and extent of monitoring can be adjusted quickly to allow for rapid and efficient problem diagnosis.
  • a check is performed to determine if an operation or action is associated with the processing step. This may include evaluating whether an associated operation should be performed before the processing step or after the processing step. Then, for processing steps with an associated operation, the operation is applied in conjunction with the execution of the processing step.
  • the processing steps are related to processing requests from clients systems that are directed to a service. In these circumstances, request for the service is received, a response to the request is generated, and the response is sent to the client.
  • the response and request may be organized hierarchically within a network message.
  • One popular hierarchical organization uses eXtensible Markup Language (“XML”) formatted data, with network messages being based on Simple Object Access Protocol (“SOAP”).
  • XML eXtensible Markup Language
  • SOAP Simple Object Access Protocol
  • binary data is contrary to the XML standard, the invention may include binary data within the hierarchical organization. For example, it may be desirable to attach certain debugging or diagnostic information to a request or response, and a binary format may be a convenient representation for that information.
  • Functions associated with processing steps may be predefined or custom, depending on monitoring needs or wants. Predefined functions are advantageous because certain operations or actions are likely to be commonly used in many monitoring scenarios and therefore predefined functions may provide enhanced value. By allowing for custom functions, individual monitoring circumstances may be addressed in a meaningful way. Describing at least a portion of the server system in terms of a hierarchical organization may add to the flexibility of custom functions and provide a mechanism for writing monitoring functions that are useful across multiple operating platforms. Here again, an organization based on XML may be desirable given the popularity and flexibility of the language.
  • Typical operations for functions may include a logging function and a filtering function.
  • logging functions write certain information to a log of some sort for analysis.
  • Filtering functions may be used to end processing of a request and send a response to the requesting client.
  • logging and filtering may be useful in monitoring error conditions that occur while processing a client's request.
  • FIG. 1 is a block diagram of an example server system embodiment that operates in accordance with the present invention
  • FIG. 2A shows an example XML document corresponding to the example XML schema of FIG. 2B ;
  • FIG. 2B illustrates an example XML schema corresponding to the example XML document of FIG. 2A ;
  • FIG. 3A shows an example XML document corresponding to the example xPath statement of FIG. 3B ;
  • FIG. 3B illustrates an example xPath statement corresponding to the example XML document of FIG. 3A ;
  • FIG. 4A depicts the hierarchy of an example SOAP message
  • FIG. 4B shows the request portion of an overall example hierarchy illustrated in FIG. 5 ;
  • FIG. 4C shows the response portion of an overall example hierarchy illustrated in FIG. 5 ;
  • FIG. 5 shows a more complete portion of a hierarchal organization for message processing corresponding to the example server system embodiment of FIG. 1 ;
  • FIG. 6 illustrates an example organization for assigning functions to processing steps in accordance with the present invention
  • FIGS. 7A-7B show a flowchart of a method for executing one or more functions at any of one or ore processing steps in accordance with the present invention.
  • FIG. 8 illustrates an exemplary system that provides a suitable operating environment for the present invention.
  • the present invention extends to methods, systems, and computer program products for applying one or more operations or actions during the processing that may occur in a server providing one or more services.
  • a server providing one or more services.
  • specific operations may be executed along with each processing step. These operations are dynamically associated with the processing steps such that as a processing step executes, a check is performed to determine if any operations exists for the processing step. For processing steps that include an operation, the operation is applied during execution of the processing step.
  • Embodiments within the scope of the present invention may comprise one or more special purpose and/or one or more general purpose computers including various computer hardware, as discussed in greater detail below.
  • Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
  • Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer.
  • Such computer-readable media can comprise physical storage media such as RAM, ROM, EEPROM, CD-ROM or other optical disc storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
  • Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
  • FIG. 1 shows a block diagram of an example server system that operates in accordance with the present invention.
  • the server system uses several distinct processing layers in processing a request 101 a from a client, including a parse layer, a security layer, a cryptography layer and a service layer. Each of these layers is divided into a request processing component and a response processing component. There are corresponding response and request components for each layer. Note, however, that the present invention is not necessarily limited to any particular process layering or component division.
  • parse component 120 a may be used to parse a request 101 a that includes XML data, such as the XML document 200 A shown in FIG. 2A .
  • XML is a markup language that provides for data typing and namespaces.
  • the default namespace is “x-schema:classSchema.xml” 201 A( 1 ). This informs the parser to validate the document against the schema “x-schema” at the URL “classSchema.xml.”
  • FIG. 2B shows the entire schema for the document of FIG. 2A .
  • the top level of the schema is ⁇ Schema> ⁇ /Schema> element pair 200 B that contains the declaration of the schema namespace and, in this case, the declaration of the “datatypes” namespace as well.
  • ElementType assigns a type and conditions to an element, and what, if any, child elements it can contain; “AttributeType” assigns a type and conditions to an attribute; “attribute” declares that a previously defined attribute type can appear within the scope of the named ElementType element; and “element” declares that a previously defined element type can appear within the scope of the named ElementType element.
  • ElementType declaration is followed by its attribute and child elements.
  • elements When an element has attributes or child elements, they are in its ElementType declaration. They also are previously declared in their own ElementType or AttributeType declaration.
  • the example XML document 300 A in FIG. 3A will be used in conjunction with the xPath statement 300 B shown in FIG. 3B .
  • xPath uses abstract document relationships in identifying parts of a document.
  • the xPath statement 300 B locates Smith's numbers within the XML document 300 A. Similar to FIGS. 2A and 2B , notice that the reference numbers for the XML document 300 A of FIG. 3A correspond to xPath statement 300 B of FIG. 3B .
  • the “/descendant::contact” portion 301 B of the xPath statement 300 B maps to descendants of the ⁇ contact> ⁇ /contact> tag pair 301 A.
  • the “/child::numbers” portion 340 B selects the ⁇ numbers> ⁇ /numbers> children of contact 301 A.
  • “/child::*” identifies the specific children (i.e., “ ⁇ home> 801-555-1234 ⁇ /home>” 340 A. 1 and “ ⁇ cell> 801-555-4321 ⁇ /cell>” 340 A. 2 ) that are of interest. (The star or asterisk is a wildcard indicating that all children are of interest.)
  • parse component 120 a includes before functions 122 a that are executed prior to parse component 120 a and after functions 124 a that are executed after parse component 120 a .
  • Path 120 c shows that processing may proceed to parse 120 b on the response side following the operation of parse component 120 a . Proceeding to parse 120 b following parse 120 a may be the result of a parse error or may be dictated by before functions 122 a or after functions 124 a , in which case it makes little sense to continue on to security 130 a .
  • after functions 124 a may be able to determine that some problem exists with the request 101 a .
  • After functions 124 a may determine that request 101 a is part of a denial of service attack or that request 101 a includes content or originates from a source that is blocked for some reason, such as inappropriate material or spam.
  • Parse component 120 a may indicate that processing should continue with security component 130 a .
  • Security component 130 a determines the identity associated with the request 101 a . In one embodiment, this involves determining an application identifier, a user identifier, and a platform identifier for request 101 a , because the service layer provides storage and access to data that is identity specific. For example, a user may access the service layer for email, calendar items, contacts, etc., using both a PC and a handheld device. The security layer, and security component 130 a , determines the appropriate identity so that data and operations are appropriate to the device being used for access. Similarly, different users may be allowed different access to the same data.
  • an owner might be able to add, delete, and modify data, whereas a delegate may only have read privileges.
  • the type of access permitted is controlled by role list database that contains various rules for determining access rights.
  • the present invention does not necessarily require a security layer, and if one is present, it need not operate as security component 130 a . A failure in the security layer may result in proceeding along path 130 c or assigning default access privileges.
  • cryptography component 140 a includes before functions 142 a and after functions 144 a .
  • Cryptography component 140 a is responsible for any decryption that is needed for request 101 a .
  • request 101 a is a Simple Object Access Protocol (“SOAP”) request, conforming to the hierarchy 400 A illustrated in FIG. 4A .
  • SOAP Simple Object Access Protocol
  • a SOAP message includes an envelope 420 A with a header 420 A. 1 and a body 420 A. 2 , where the envelope 420 A is at the root level 401 A.
  • FIG. 4B shows the request portion and FIG. 4C shows the response portion of an overall example hierarchy illustrated in FIG. 5 .
  • FIGS. 4A, 4B , and 4 C are similarly numbered.
  • the example hierarchy illustrated in FIG. 5 will be described in greater detail below.
  • envelope 420 B is at the request level 401 B (rather than the root level) and that the request level 401 B includes additional information 440 B.
  • Envelope 420 B continues to include header 420 B. 1 and body 420 B. 2 .
  • envelope 420 C is at the response level 401 C (rather than the root level) and the response level 401 C includes additional information 440 C.
  • Envelope 420 C continues to include header 420 C. 1 and body 420 C. 2 .
  • the additional information 440 B and 440 C may be used to store information that may be helpful in monitoring a service.
  • the additional information may comprise binary data, including a data structure or data object.
  • additional information 440 C may contain a detailed error chain.
  • the present invention is not limited to any particular type or format of additional information.
  • parse 120 a may be limited initially to those portions of request 101 a that are not encrypted. Then, following cryptography 140 a , parse component 120 a may continue with the decrypted portions of request 101 a . At this point, it is worth noting that the flow from layer to layer need not be strictly sequential to fall within the scope of the present invention. A cryptography failure will result in proceeding with processing along path 140 c.
  • Service 150 a represents the processing that carries out the methods that may be included with request 101 a .
  • request 101 a may attempt to query, insert, replace, update or delete data maintained by service 150 a , such as email, calendar items, contacts, spreadsheet, word processing documents, or the like.
  • data such as email, calendar items, contacts, spreadsheet, word processing documents, or the like.
  • service component 150 b prepares an appropriate response to the methods that may be included with request 101 a .
  • a response may include data that is queried or indicate whether an insert, update, replace, or delete operation was successful or failed. Failures may include error codes of some sort, with more substantial debugging or error information in the response's additional information 440 C ( FIG. 4C ).
  • Service component 150 b includes before functions 152 b and after functions 154 b . Notice that the ordering of the before functions and after functions on the response side is opposite the ordering on the request side because the flow from layer to layer is reversed.
  • Cryptography component 140 b follows service component 150 b or path 140 c from cryptography 140 a . As indicated earlier, the body of a SOAP message is encrypted. For response 101 b , the cryptography layer, and cryptography component 140 b in particular, performs the encryption. Note that service component 150 b and cryptography component 140 b essentially perform analogous or complementary functionality for the corresponding service component 150 a and cryptography component 140 a of the respective layers.
  • the present invention does not necessary require analogous or complementary functionality in each layer.
  • parse component 120 b Like security component 130 b , there is no analogous or complementary function of parse component 120 a to be performed by parse component 120 b . Still, before functions 122 b and after functions 124 b may provide desirable functionality in some circumstances. Both parse component 120 b and security component 130 b may simply pass whatever is present in response 101 b to the next level.
  • Logging is generally associated with monitoring, although not exclusively so. For performance, debugging, identifying hardware problems, detecting system attacks, and the like, logging may provide valuable information for each layer (both prior to and following execution of the layer).
  • Filtering relates to terminating further processing, usually with respect to a request. Filtering might include detecting a denial of service attack or other type of attack, preventing access to certain content, such as pornographic material, stopping spam or other unsolicited interaction, or the like.
  • FIG. 5 shows a more complete portion of a hierarchal organization for message processing corresponding to the example server system embodiment of FIG. 1 .
  • Server 501 identifies at least one server that is responsible for providing one or more services. Note that server 501 provides services for messages directed to myInbox ( 540 ), messages directed to myCalendar ( 560 ), and messages directed to other services. In some circumstances it may be desirable for a single server to provide multiple services whereas in other circumstances it may be desirable for a server to provide only one service. In addition, a single server may be made up of multiple computers and multiple servers may be used to provide a single service.
  • the present invention does not require any particular hardware configurations and each of the foregoing examples, including combinations thereof, is an example of a server system and should be included within the scope of the present invention.
  • Server 501 includes various status indicators 520 , including alarms 520 . 1 and timers 520 . 2 . These status indicators may be used by any of the processing layers shown in FIG. 1 .
  • service configuration 520 . 3 and system document 520 . 4 contain configuration information, security information, identity information, and other data that may be necessary or useful a service.
  • request 540 . 3 . 1 with envelope 540 . 3 . 1 . 1 , header 540 . 3 . 1 . 1 . 1 , body 540 . 3 . 1 . 1 . 2 , and additional information 540 . 3 . 1 .
  • FIG. 5 is one example of describing at least a portion of a server system in accordance with an XML schema. However, it should be emphasized that many other hierarchical arrangements are possible and that the present invention is not limited to any particular description.
  • FIG. 6 illustrates an action association list 600 for assigning functions to processing steps in accordance with the present invention.
  • Action association list 600 identifies a layer 1 620 processing step, a layer 2 640 processing step, and other layer processing steps.
  • Layer 1 620 processing step specifies whether a particular action should be executed before 620 . 1 layer 1 or after 620 . 2 layer 1 .
  • actionA Prior to execution of layer 1 , if xPathA 620 . 1 . 1 is present in the XML hierarchy 500 shown in FIG. 5 , actionA is applied.
  • actionB is applied, and if xPathC 620 .
  • the present invention also may be described in terms of methods comprising functional steps and/or non-functional acts.
  • the following is a description of acts and steps that may be performed in practicing the present invention.
  • functional steps describe the invention in terms of results that are accomplished, whereas non-functional acts describe more specific actions for achieving a particular result.
  • non-functional acts describe more specific actions for achieving a particular result.
  • the functional steps and non-functional acts may be described or claimed in a particular order, the present invention is not necessarily limited to any particular ordering or combination of the acts and/or steps.
  • FIGS. 7A and 7B are a flow diagram that describe various acts and steps for methods according to the present invention.
  • a step for identifying ( 710 ) one or more functional processing blocks where one or more operations or actions may be applied to one or more requests directed to one or more services may include acts of: defining ( 712 ) one or more processing steps within a server system that provides one or more services; defining ( 714 ) one or more functions that may be executed at any of the one or more processing steps; and describing ( 716 ) at least a portion of the server system in accordance with an XML schema.
  • An act of defining ( 714 ) one or more functions should be interpreted broadly to include selecting a predefined function or creating a new function.
  • service should be interpreted broadly to encompass a wide variety of computer processing.
  • the term “service” is used as a generic reference for some type of computer resource.
  • an embodiment of the present invention is described in the context of an overall service that provides access to identity-based data, with one or more individual services within the overall service being dedicated to particular types of data, such as email, contacts, calendar, tasks, documents, etc.
  • service is not necessarily limited to any particular type of computing resource, and any service specifically identified should be interpreted merely as an example.
  • processing step “functional processing block,” “operation,” “function,” and “action” are often used as generic references for some division or grouping of one or more computer instructions that accomplish a particular task.
  • processing steps and “functional blocks” generally are associated with the parsing, security, cryptography, and service operations
  • operations and “actions” generally are associated with logging and filtering.
  • each of the foregoing terms is used throughout the application in a generic sense.
  • “processing step,” “functional processing block,““operation,” “function,” and “action” should not be limited to any particular division or grouping of computer instructions, and any more specific description should be understood simply to represent an example.
  • a step for dynamically associating ( 720 ) at least one operation or action; for at least one of the one or more functional processing blocks may include acts of: assigning ( 722 ) at least one function to at least one of one or more processing steps; and an act of evaluating ( 724 ) whether the at least one dynamically assigned function should be executed either before or after the at least one of the one or more processing steps.
  • a step for checking ( 730 ) whether or not any action has been associated with a particular functional processing block during execution of the particular functional processing block may include acts of: receiving ( 732 ) a request for one or more services from a client system; and evaluating ( 734 ) whether or not any function has been assigned to a processing step.
  • a step for applying ( 740 ) one or more associated operations or actions during execution of any function processing block with one or more associated actions may include acts of: executing ( 742 ) at least one assigned function at each processing step that has at least one assigned function; and terminating ( 744 ) any further processing on a request received from a client system.
  • a step for responding ( 750 ) to a client system based on a request for one or more services from a client system may include acts of: generating ( 752 ) a response; and sending ( 754 ) the response to the client system.
  • FIG. 8 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented.
  • the invention will be described in the general context of computer-executable instnictions, such as program modules, being executed by computers in network environments.
  • program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
  • Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein.
  • the particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
  • the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
  • the invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network.
  • program modules may be located in both local and remote memory storage devices.
  • an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional computer 820 , including a processing unit 821 , a system memory 822 , and a system bus 823 that couples various system components including the system memory 822 to the processing unit 821 .
  • the system bus 823 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • the system memory includes read only memory (ROM) 824 and random access memory (RAM) 825 .
  • a basic input/output system (BIOS) 826 containing the basic routines that help transfer information between elements within the computer 820 , such as during start-up, may be stored in ROM 824 .
  • the computer 820 may also include a magnetic hard disk drive 827 for reading from and writing to a magnetic hard disk 839 , a magnetic disk drive 828 for reading from or writing to a removable magnetic disk 829 , and an optical disc drive 830 for reading from or writing to removable optical disc 831 such as a CD-ROM or other optical media.
  • the magnetic hard disk drive 827 , magnetic disk drive 828 , and optical disc drive 830 are connected to the system bus 823 by a hard disk drive interface 832 , a magnetic disk drive-interface 833 , and an optical drive interface 834 , respectively.
  • the drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for the computer 820 .
  • exemplary environment described herein employs a magnetic hard disk 839 , a removable magnetic disk 829 and a removable optical disc 831
  • other types of computer readable media for storing data can be used, including magnetic cassettes, flash memory cards, digital versatile discs, Bernoulli cartridges, RAMs, ROMs, and the like.
  • Program code means comprising one or more program modules may be stored on the hard disk 839 , magnetic disk 829 , optical disc 831 , ROM 824 or RAM 825 , including an operating system 835 , one or more application programs 836 , other program modules 837 , and program data 838 .
  • a user may enter commands “and information into the computer 820 through keyboard 840 , pointing device 842 , or other input devices (not shown), such as a microphone, joy stick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 821 through a serial port interface 846 coupled to system bus 823 .
  • the input devices may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB).
  • a monitor 847 or another display device is also connected to system bus 823 via an interface, such as video adapter 848 .
  • personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
  • the computer 820 may operate in a networked environment using logical connections to one or more remote computers, such as remote computers 849 a and 849 b .
  • Remote computers 849 a and 849 b may each be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically include many or all of the elements described above relative to the computer 820 , although only memory storage devices 850 a and 850 b and their associated application programs 836 a and 836 b have been illustrated in FIG. 1 .
  • the logical connections depicted in FIG. 1 include a local area network (LAN) 851 and a wide area network (WAN) 852 that are presented here by way of example and not limitation.
  • LAN local area network
  • WAN wide area network
  • the computer 820 When used in a LAN networking environment, the computer 820 is connected to the local network 851 through a network interface or adapter 853 . When used in a WAN networking environment, the computer 820 may include a modem 854 , a wireless link, or other means for establishing communications over the wide area network 852 , such as the Internet.
  • the modem 854 which may be internal or external, is connected to the system bus 823 via the serial port interface 846 .
  • program modules depicted relative to the computer 820 may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications over wide area network 852 may be used.

Abstract

Methods, systems, and computer program products for applying actions during server system processing. Functional processing blocks where actions may be applied to a service request are identified. Actions are dynamically associated with functional processing blocks. During execution of a functional processing block, a check is performed to determine whether an action is associated with the functional processing block. If an action is associated with a functional processing block, the action is applied during the functional processing block's execution. An evaluation may be performed to determine if an action should be applied before or after the functional processing block. The server system may comprise an XML data repository, providing access to XML data, based on identity information which is received with a client system request. A portion of the server system may be described in accordance with an XML schema.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • The present application is a divisional of U.S. application Ser. No. 10/062,045, filed Jan. 31, 2002, entitled “Executing Dynamically Assigned Functions while Providing Services”. That application claims priority from co-pending U.S. Provisional Application Ser. No. 60/275,809, filed Mar. 14, 2001 and entitled “Identity-Based Service Communication Using XML Messaging Interfaces”, both of which are incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • 1. The Field of the Invention
  • The present invention relates to the field of computer services. Specifically, the present invention relates to methods, systems, and computer program products for applying one or more functions during processing that may occur in a server providing one or more services.
  • 2. Background and Relevant Art
  • Typically, before being deployed in a live system, services undergo significant testing to uncover programming errors and to evaluate performance. While useful, such testing often is able only to estimate full-scale use. As a result, certain program errors or performance problems may go undetected in development or testing environments. Finding these latent problems usually involves monitoring the operation of a service in one form or another. Furthermore, independent of programming errors or unexpected performance considerations, monitoring a service may be helpful in uncovering hardware failures and system attacks.
  • However, monitoring services for purposes of debugging, performance, hardware problems, system attacks, and the like, often involves various complex issues. For example, services by nature tend to be accessed by large numbers of clients. The shear volume of transactions can make monitoring services a significant exercise. Moreover, monitoring itself may introduce some amount of processing overhead. While the overhead for a single transaction is relatively small, the aggregate overhead for a large number of transactions may result in unacceptable levels of performance and skew any conclusions that are reached from the monitoring.
  • As a general rule, discovering problems through monitoring is an iterative process. For example, as noted above, it may be impractical to produce all possible monitoring information at all times, either due to the amount of monitoring information that will be produced or due to the negative effect that such monitoring may have on overall system performance. Therefore, monitoring often begins by detecting some type of high-level irregularity. Once discovered, the high-level irregularity may lead to more specific monitoring of increasingly specific processing or functionality until the problem's cause is discovered and corrected. After a particular problem is corrected, monitoring often returns back to the high-level system view.
  • In some systems, the iterative process of moving back and forth between high-level system monitoring and relatively lower level monitoring of specific service processing or functionality may require shutting services and/or servers down and restarting them. Furthermore, certain monitoring tools may require significant expertise to use, including programming skills. For many, the level of skill required may reduce the effectiveness of a particular monitoring tool or prevent its use all together. Also, monitoring tools are often specific to the environment in which they run, requiring administrators of heterogeneous systems to use different monitoring tools for each distinct system. Accordingly, methods, systems, and computer program products are desired for dynamically applying a function during any of various processing steps that may occur in providing a service to a client system.
  • BRIEF SUMMARY OF THE INVENTION
  • The present invention extends to methods, systems and computer products for dynamically executing one or more functions at any of one or more processing steps that may occur in providing a service to a client system. In one embodiment, executing the one or more functions during identified processing steps provides significant flexibility for dynamically monitoring the operation of the service being analyzed. By identifying particular processing steps that are executed during operation of the service, specific functions may be designated for execution when the processing steps occur. These specific functions are dynamically associated with the processing steps so that the type and extent of monitoring can be adjusted quickly to allow for rapid and efficient problem diagnosis.
  • As a processing step executes, a check is performed to determine if an operation or action is associated with the processing step. This may include evaluating whether an associated operation should be performed before the processing step or after the processing step. Then, for processing steps with an associated operation, the operation is applied in conjunction with the execution of the processing step. Typically, the processing steps are related to processing requests from clients systems that are directed to a service. In these circumstances, request for the service is received, a response to the request is generated, and the response is sent to the client.
  • The response and request may be organized hierarchically within a network message. One popular hierarchical organization uses eXtensible Markup Language (“XML”) formatted data, with network messages being based on Simple Object Access Protocol (“SOAP”). Although binary data is contrary to the XML standard, the invention may include binary data within the hierarchical organization. For example, it may be desirable to attach certain debugging or diagnostic information to a request or response, and a binary format may be a convenient representation for that information.
  • Functions associated with processing steps may be predefined or custom, depending on monitoring needs or wants. Predefined functions are advantageous because certain operations or actions are likely to be commonly used in many monitoring scenarios and therefore predefined functions may provide enhanced value. By allowing for custom functions, individual monitoring circumstances may be addressed in a meaningful way. Describing at least a portion of the server system in terms of a hierarchical organization may add to the flexibility of custom functions and provide a mechanism for writing monitoring functions that are useful across multiple operating platforms. Here again, an organization based on XML may be desirable given the popularity and flexibility of the language.
  • Typical operations for functions may include a logging function and a filtering function. In general, logging functions write certain information to a log of some sort for analysis. Filtering functions may be used to end processing of a request and send a response to the requesting client. Among other things, logging and filtering may be useful in monitoring error conditions that occur while processing a client's request.
  • Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered as limiting its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
  • FIG. 1 is a block diagram of an example server system embodiment that operates in accordance with the present invention;
  • FIG. 2A shows an example XML document corresponding to the example XML schema of FIG. 2B;
  • FIG. 2B illustrates an example XML schema corresponding to the example XML document of FIG. 2A;
  • FIG. 3A shows an example XML document corresponding to the example xPath statement of FIG. 3B;
  • FIG. 3B illustrates an example xPath statement corresponding to the example XML document of FIG. 3A;
  • FIG. 4A depicts the hierarchy of an example SOAP message;
  • FIG. 4B shows the request portion of an overall example hierarchy illustrated in FIG. 5;
  • FIG. 4C shows the response portion of an overall example hierarchy illustrated in FIG. 5;
  • FIG. 5 shows a more complete portion of a hierarchal organization for message processing corresponding to the example server system embodiment of FIG. 1;
  • FIG. 6 illustrates an example organization for assigning functions to processing steps in accordance with the present invention;
  • FIGS. 7A-7B show a flowchart of a method for executing one or more functions at any of one or ore processing steps in accordance with the present invention; and
  • FIG. 8 illustrates an exemplary system that provides a suitable operating environment for the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • The present invention extends to methods, systems, and computer program products for applying one or more operations or actions during the processing that may occur in a server providing one or more services. Through the identification of discrete processing steps that are executed while a service operates, specific operations may be executed along with each processing step. These operations are dynamically associated with the processing steps such that as a processing step executes, a check is performed to determine if any operations exists for the processing step. For processing steps that include an operation, the operation is applied during execution of the processing step.
  • Embodiments within the scope of the present invention may comprise one or more special purpose and/or one or more general purpose computers including various computer hardware, as discussed in greater detail below. Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise physical storage media such as RAM, ROM, EEPROM, CD-ROM or other optical disc storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
  • FIG. 1 shows a block diagram of an example server system that operates in accordance with the present invention. The server system uses several distinct processing layers in processing a request 101 a from a client, including a parse layer, a security layer, a cryptography layer and a service layer. Each of these layers is divided into a request processing component and a response processing component. There are corresponding response and request components for each layer. Note, however, that the present invention is not necessarily limited to any particular process layering or component division.
  • On the request 101 a, an incoming request first passes through parse component 120 a. For example, parse component 120 a may be used to parse a request 101 a that includes XML data, such as the XML document 200A shown in FIG. 2A. By way of background, XML is a markup language that provides for data typing and namespaces. For XML document 200A, the default namespace is “x-schema:classSchema.xml” 201A(1). This informs the parser to validate the document against the schema “x-schema” at the URL “classSchema.xml.”
  • FIG. 2B shows the entire schema for the document of FIG. 2A. The top level of the schema is <Schema> </Schema> element pair 200B that contains the declaration of the schema namespace and, in this case, the declaration of the “datatypes” namespace as well. The first, “xmlns=“urn:schemas-microsoft-com:xml-data”,” 200B(1) indicates that this XML document is an XML Schema. The second, “xmlns:dt=“urn:schemas-microsoft-com:datatypes”,” 200B(2) allows for typing element and attribute content by using a “dt” prefix on the type attribute within their ElementType and AttributeType declarations.
  • “ElementType” assigns a type and conditions to an element, and what, if any, child elements it can contain; “AttributeType” assigns a type and conditions to an attribute; “attribute” declares that a previously defined attribute type can appear within the scope of the named ElementType element; and “element” declares that a previously defined element type can appear within the scope of the named ElementType element. The content of the schema begins with the AttributeType and ElementType declarations of the innermost elements, namely:
    <AttributeType  name=‘studentID’  dt:type=‘string’  required=‘yes’/>
    220B(1);
    <ElementType name=‘name’ content=‘textOnly’/>
    200B.1; and
    <ElementType name=‘GPA’ content=‘textOnly’ dt:type=‘float’/>
    200B.2.
  • The next ElementType declaration is followed by its attribute and child elements. When an element has attributes or child elements, they are in its ElementType declaration. They also are previously declared in their own ElementType or AttributeType declaration. In particular,
    <ElementType name=‘student’ content=‘mixed’> 220B;
    <attribute type=‘studentID’/> 220B(1)’;
    <element type=‘name’/> 220B.1’;
    <element type=‘GPA’/> 220B.2’; and
    </ElementType> 220B.
  • The process is continued throughout the rest of the schema until every element and attribute has been declared:
    <ElementType name=‘class’ content=‘eltOnly’> 201B;
    <element type=‘student’/> ;
    </ElementType> 201B.
  • Notice that the reference numbers for the XML document shown in FIG. 2A correspond to the schema declarations in FIG. 2B. Specifically,
    <class xmlns=“x-schema:classSchema.xml”> 201A;
    <student studentID=“13429”> 220A;
    <name>James Smith</name> 220A.1;
    <GPA>3.8</GPA> 220A.2;
    </student> 220A;
    </class> 201A.
  • The example XML document 300A in FIG. 3A will be used in conjunction with the xPath statement 300B shown in FIG. 3B. In general, xPath uses abstract document relationships in identifying parts of a document. For example, the xPath statement 300B locates Smith's numbers within the XML document 300A. Similar to FIGS. 2A and 2B, notice that the reference numbers for the XML document 300A of FIG. 3A correspond to xPath statement 300B of FIG. 3B.
  • Specifically, the “/descendant::contact” portion 301B of the xPath statement 300B maps to descendants of the <contact> </contact> tag pair 301A. The “[name=“Smith”]” portion 320B selects the “<name> Smith</name>” 320A contact entry, and the “/child::numbers” portion 340B selects the <numbers> </numbers> children of contact 301A. “/child::*” identifies the specific children (i.e., “<home> 801-555-1234</home>” 340A.1 and “<cell> 801-555-4321</cell>” 340A.2) that are of interest. (The star or asterisk is a wildcard indicating that all children are of interest.)
  • Referring back to FIG. 1, parse component 120 a includes before functions 122 a that are executed prior to parse component 120 a and after functions 124 a that are executed after parse component 120 a. Path 120 c shows that processing may proceed to parse 120 b on the response side following the operation of parse component 120 a. Proceeding to parse 120 b following parse 120 a may be the result of a parse error or may be dictated by before functions 122 a or after functions 124 a, in which case it makes little sense to continue on to security 130 a. For example, after at least some parsing, after functions 124 a may be able to determine that some problem exists with the request 101 a. After functions 124 a may determine that request 101 a is part of a denial of service attack or that request 101 a includes content or originates from a source that is blocked for some reason, such as inappropriate material or spam.
  • Parse component 120 a may indicate that processing should continue with security component 130 a. Security component 130 a determines the identity associated with the request 101 a. In one embodiment, this involves determining an application identifier, a user identifier, and a platform identifier for request 101 a, because the service layer provides storage and access to data that is identity specific. For example, a user may access the service layer for email, calendar items, contacts, etc., using both a PC and a handheld device. The security layer, and security component 130 a, determines the appropriate identity so that data and operations are appropriate to the device being used for access. Similarly, different users may be allowed different access to the same data. For example, an owner might be able to add, delete, and modify data, whereas a delegate may only have read privileges. The type of access permitted is controlled by role list database that contains various rules for determining access rights. Nevertheless, as noted the present invention does not necessarily require a security layer, and if one is present, it need not operate as security component 130 a. A failure in the security layer may result in proceeding along path 130 c or assigning default access privileges.
  • It may seem somewhat redundant to allow for both after functions 124 a in parse component 120 a and before functions 132 a in security component 130 a. However, because processing may proceed along path 120 c, functions 132 a will not necessarily be invoked for a request 101 a. Further, associating functions closely with a particular layer provides for greater clarity as to when the function will be executed. A similar analysis holds true for after functions 134 b of security component 130 b and before functions 122 b of parse component 120 b. It should be emphasized, nevertheless, that the present invention does not necessarily require the specific association of functions with processing steps that is shown in FIG. 1. Therefore, the assignment of functions to processing steps should be interpreted broadly to cover a wide range of function associations. From security component 130 a, processing proceeds to either security component 130 b or to cryptography component 140 a.
  • Similar to other components, cryptography component 140 a includes before functions 142 a and after functions 144 a. Cryptography component 140 a is responsible for any decryption that is needed for request 101 a. In one embodiment, request 101 a is a Simple Object Access Protocol (“SOAP”) request, conforming to the hierarchy 400A illustrated in FIG. 4A. Basically, a SOAP message includes an envelope 420A with a header 420A.1 and a body 420A.2, where the envelope 420A is at the root level 401A.
  • FIG. 4B shows the request portion and FIG. 4C shows the response portion of an overall example hierarchy illustrated in FIG. 5. Here too, references have been selected so that corresponding portions are FIGS. 4A, 4B, and 4C are similarly numbered. The example hierarchy illustrated in FIG. 5 will be described in greater detail below. It should be noted that in FIG. 4B, envelope 420B is at the request level 401B (rather than the root level) and that the request level 401B includes additional information 440B. Envelope 420B continues to include header 420B.1 and body 420B.2. Likewise, in FIG. 4C, envelope 420C is at the response level 401C (rather than the root level) and the response level 401C includes additional information 440C. Envelope 420C continues to include header 420C.1 and body 420C.2.
  • Adding the request level 401B and the response level 401C removes ambiguity from the single root level 401A that is illustrated in FIG. 4A. As a result, it is clear whether a locator statement such as an xPath statement references a request 101 a or response 101 b (both of FIG. 1), without the need to determine the processing context of the xPath statement. The additional information 440B and 440C may be used to store information that may be helpful in monitoring a service. The additional information may comprise binary data, including a data structure or data object. For example, additional information 440C may contain a detailed error chain. The present invention is not limited to any particular type or format of additional information.
  • Returning now to FIG. 1, the body of a SOAP request is encrypted, so cryptography component 140 a performs the necessary decryption. Those of skill in the art will recognize that there is not much value to parsing an encrypted SOAP body. Therefore, parse 120 a may be limited initially to those portions of request 101 a that are not encrypted. Then, following cryptography 140 a, parse component 120 a may continue with the decrypted portions of request 101 a. At this point, it is worth noting that the flow from layer to layer need not be strictly sequential to fall within the scope of the present invention. A cryptography failure will result in proceeding with processing along path 140 c.
  • Following cryptography 140 a, processing proceeds to service 150 a and before functions 152 a and after functions 154 a. Service 150 a represents the processing that carries out the methods that may be included with request 101 a. For example, request 101 a may attempt to query, insert, replace, update or delete data maintained by service 150 a, such as email, calendar items, contacts, spreadsheet, word processing documents, or the like. Although described as a data store that is manipulated with XML, the present invention is not necessarily limited to any particular type or service, or any particular access mechanism for identity-specific data.
  • Turning next to the processing for response 101 b, service component 150 b prepares an appropriate response to the methods that may be included with request 101 a. For example a response may include data that is queried or indicate whether an insert, update, replace, or delete operation was successful or failed. Failures may include error codes of some sort, with more substantial debugging or error information in the response's additional information 440C (FIG. 4C). Service component 150 b includes before functions 152 b and after functions 154 b. Notice that the ordering of the before functions and after functions on the response side is opposite the ordering on the request side because the flow from layer to layer is reversed.
  • Cryptography component 140 b follows service component 150 b or path 140 c from cryptography 140 a. As indicated earlier, the body of a SOAP message is encrypted. For response 101 b, the cryptography layer, and cryptography component 140 b in particular, performs the encryption. Note that service component 150 b and cryptography component 140 b essentially perform analogous or complementary functionality for the corresponding service component 150 a and cryptography component 140 a of the respective layers.
  • The present invention, however, does not necessary require analogous or complementary functionality in each layer. For example, there is no analogous or complementary functionality provided by security 130 b. Nevertheless, it may still be desirable to allow for before functions 132 b and after functions 134 b, whether processing flowed from cryptography component 140 b or from security component 130 a through processing path 130 c.
  • Like security component 130 b, there is no analogous or complementary function of parse component 120 a to be performed by parse component 120 b. Still, before functions 122 b and after functions 124 b may provide desirable functionality in some circumstances. Both parse component 120 b and security component 130 b may simply pass whatever is present in response 101 b to the next level.
  • At this stage, it may be worth identifying some types of functions that may be applicable to each processing layer. Two examples of commonly applicable functions are logging and filtering. Logging is generally associated with monitoring, although not exclusively so. For performance, debugging, identifying hardware problems, detecting system attacks, and the like, logging may provide valuable information for each layer (both prior to and following execution of the layer). Filtering relates to terminating further processing, usually with respect to a request. Filtering might include detecting a denial of service attack or other type of attack, preventing access to certain content, such as pornographic material, stopping spam or other unsolicited interaction, or the like.
  • FIG. 5 shows a more complete portion of a hierarchal organization for message processing corresponding to the example server system embodiment of FIG. 1. Server 501 identifies at least one server that is responsible for providing one or more services. Note that server 501 provides services for messages directed to myInbox (540), messages directed to myCalendar (560), and messages directed to other services. In some circumstances it may be desirable for a single server to provide multiple services whereas in other circumstances it may be desirable for a server to provide only one service. In addition, a single server may be made up of multiple computers and multiple servers may be used to provide a single service. The present invention does not require any particular hardware configurations and each of the foregoing examples, including combinations thereof, is an example of a server system and should be included within the scope of the present invention.
  • Server 501 includes various status indicators 520, including alarms 520.1 and timers 520.2. These status indicators may be used by any of the processing layers shown in FIG. 1. Within myInbox 540, service configuration 520.3 and system document 520.4 contain configuration information, security information, identity information, and other data that may be necessary or useful a service. As noted earlier, for a particular message, such as message 540.3, request 540.3.1, with envelope 540.3.1.1, header 540.3.1.1.1, body 540.3.1.1.2, and additional information 540.3.1.2, and response 540.3.2, with envelope 540.3.2.1, header 540.3.2.1.1, body 540.3.2.1.2, and additional information 540.3.2.2, correspond to FIGS. 4B and 4C, respectively. FIG. 5 is one example of describing at least a portion of a server system in accordance with an XML schema. However, it should be emphasized that many other hierarchical arrangements are possible and that the present invention is not limited to any particular description.
  • FIG. 6 illustrates an action association list 600 for assigning functions to processing steps in accordance with the present invention. Action association list 600 identifies a layer 1 620 processing step, a layer 2 640 processing step, and other layer processing steps. Layer 1 620 processing step specifies whether a particular action should be executed before 620.1 layer 1 or after 620.2 layer 1. Prior to execution of layer 1, if xPathA 620.1.1 is present in the XML hierarchy 500 shown in FIG. 5, actionA is applied. Similarly, after execution of layer 1, if xPathB 620.2.1 is present in the XML hierarchy 500, actionB is applied, and if xPathC 620.2.2 is present in the 4 XML hierarchy 500, actionC is applied. Depending on how actionB is defined, it is possible for xPathC to either be ignored or processed. Although no details are shown, before 640.1 and after 640.2 of layer 2 640 operate in an analogous fashion.
  • The present invention also may be described in terms of methods comprising functional steps and/or non-functional acts. The following is a description of acts and steps that may be performed in practicing the present invention. Usually, functional steps describe the invention in terms of results that are accomplished, whereas non-functional acts describe more specific actions for achieving a particular result. Although the functional steps and non-functional acts may be described or claimed in a particular order, the present invention is not necessarily limited to any particular ordering or combination of the acts and/or steps.
  • FIGS. 7A and 7B are a flow diagram that describe various acts and steps for methods according to the present invention. A step for identifying (710) one or more functional processing blocks where one or more operations or actions may be applied to one or more requests directed to one or more services may include acts of: defining (712) one or more processing steps within a server system that provides one or more services; defining (714) one or more functions that may be executed at any of the one or more processing steps; and describing (716) at least a portion of the server system in accordance with an XML schema. An act of defining (714) one or more functions should be interpreted broadly to include selecting a predefined function or creating a new function.
  • It should be noted that the terms such as “service,” “processing step,” “functional processing block,” “operation,” “function,” and “action” should be interpreted broadly to encompass a wide variety of computer processing. Often, the term “service” is used as a generic reference for some type of computer resource. For example, an embodiment of the present invention is described in the context of an overall service that provides access to identity-based data, with one or more individual services within the overall service being dedicated to particular types of data, such as email, contacts, calendar, tasks, documents, etc. As used in this application, therefore, “service” is not necessarily limited to any particular type of computing resource, and any service specifically identified should be interpreted merely as an example.
  • Similarly, the terms “processing step,” “functional processing block,” “operation,” “function,” and “action” are often used as generic references for some division or grouping of one or more computer instructions that accomplish a particular task. With reference to the service that provides access to identity-based data, “processing steps” and “functional blocks” generally are associated with the parsing, security, cryptography, and service operations, whereas “operations,” “functions,” and “actions” generally are associated with logging and filtering. Nevertheless, each of the foregoing terms is used throughout the application in a generic sense. The general associations identified above, therefore, should not necessarily be interpreted as limiting any of these terms to the specific examples used merely in describing an embodiment of the present invention. As such, “processing step,” “functional processing block,““operation,” “function,” and “action” should not be limited to any particular division or grouping of computer instructions, and any more specific description should be understood simply to represent an example.
  • A step for dynamically associating (720) at least one operation or action; for at least one of the one or more functional processing blocks may include acts of: assigning (722) at least one function to at least one of one or more processing steps; and an act of evaluating (724) whether the at least one dynamically assigned function should be executed either before or after the at least one of the one or more processing steps. A step for checking (730) whether or not any action has been associated with a particular functional processing block during execution of the particular functional processing block may include acts of: receiving (732) a request for one or more services from a client system; and evaluating (734) whether or not any function has been assigned to a processing step.
  • A step for applying (740) one or more associated operations or actions during execution of any function processing block with one or more associated actions may include acts of: executing (742) at least one assigned function at each processing step that has at least one assigned function; and terminating (744) any further processing on a request received from a client system. A step for responding (750) to a client system based on a request for one or more services from a client system may include acts of: generating (752) a response; and sending (754) the response to the client system.
  • Having now described the principles of the present invention in detail, it is noted that the precise hardware configuration that implements the above-described features is not important to the present invention. For example, it is not important to the principles of the present invention where the various components of FIG. 1 are implemented.
  • Nevertheless, for the sake of completeness, FIG. 8 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented. Although not required, the invention will be described in the general context of computer-executable instnictions, such as program modules, being executed by computers in network environments. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
  • Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
  • With reference to FIG. 8, an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional computer 820, including a processing unit 821, a system memory 822, and a system bus 823 that couples various system components including the system memory 822 to the processing unit 821. The system bus 823 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 824 and random access memory (RAM) 825. A basic input/output system (BIOS) 826, containing the basic routines that help transfer information between elements within the computer 820, such as during start-up, may be stored in ROM 824.
  • The computer 820 may also include a magnetic hard disk drive 827 for reading from and writing to a magnetic hard disk 839, a magnetic disk drive 828 for reading from or writing to a removable magnetic disk 829, and an optical disc drive 830 for reading from or writing to removable optical disc 831 such as a CD-ROM or other optical media. The magnetic hard disk drive 827, magnetic disk drive 828, and optical disc drive 830 are connected to the system bus 823 by a hard disk drive interface 832, a magnetic disk drive-interface 833, and an optical drive interface 834, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for the computer 820. Although the exemplary environment described herein employs a magnetic hard disk 839, a removable magnetic disk 829 and a removable optical disc 831, other types of computer readable media for storing data can be used, including magnetic cassettes, flash memory cards, digital versatile discs, Bernoulli cartridges, RAMs, ROMs, and the like.
  • Program code means comprising one or more program modules may be stored on the hard disk 839, magnetic disk 829, optical disc 831, ROM 824 or RAM 825, including an operating system 835, one or more application programs 836, other program modules 837, and program data 838. A user may enter commands “and information into the computer 820 through keyboard 840, pointing device 842, or other input devices (not shown), such as a microphone, joy stick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 821 through a serial port interface 846 coupled to system bus 823. Alternatively, the input devices may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB). A monitor 847 or another display device is also connected to system bus 823 via an interface, such as video adapter 848. addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
  • The computer 820 may operate in a networked environment using logical connections to one or more remote computers, such as remote computers 849 a and 849 b. Remote computers 849 a and 849 b may each be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically include many or all of the elements described above relative to the computer 820, although only memory storage devices 850 a and 850 b and their associated application programs 836 a and 836 b have been illustrated in FIG. 1. The logical connections depicted in FIG. 1 include a local area network (LAN) 851 and a wide area network (WAN) 852 that are presented here by way of example and not limitation. Such networking environments are commonplace in office-wide or enterprise-wide computer networks, intranets and the Internet.
  • When used in a LAN networking environment, the computer 820 is connected to the local network 851 through a network interface or adapter 853. When used in a WAN networking environment, the computer 820 may include a modem 854, a wireless link, or other means for establishing communications over the wide area network 852, such as the Internet. The modem 854, which may be internal or external, is connected to the system bus 823 via the serial port interface 846. In a networked environment, program modules depicted relative to the computer 820, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications over wide area network 852 may be used.
  • The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims (5)

1. One or more computer-readable media having stored thereon a data structure for use when accessing a hierarchically organized request or a hierarchically organized response associated with the request using a locator statement without having to determine the processing context of the locator statement, the data structure comprising:
a first field that represents an ancestral node for the hierarchically organized request and the hierarchically organized response, the first field further comprising:
a second field that represents the hierarchically organized request; and
a third field that represents the hierarchically organized response, wherein the locator statement may be used to locate hierarchical nodes within either the hierarchically organized request or the hierarchically organized response.
2. One or more computer-readable media as recited in claim 1, wherein the first field represents a server, the first field further comprising:
a fourth field that represents performance information for the server.
3. One or more computer-readable media as recited in claim 1, wherein the first field further comprises information related to other request/response pairs.
4. One or more computer-readable media as recited in claim 1, wherein the locator statement comprises an xPath statement.
5. One or more computer-readable media as recited in claim 1, wherein the data structure is organized in accordance with an eXtensible Markup Language (XML).
US11/086,590 2001-03-14 2005-03-21 Executing dynamically assigned functions while providing services Abandoned US20050165773A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/086,590 US20050165773A1 (en) 2001-03-14 2005-03-21 Executing dynamically assigned functions while providing services

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US27580901P 2001-03-14 2001-03-14
US10/062,045 US7024662B2 (en) 2001-03-14 2002-01-31 Executing dynamically assigned functions while providing services
US11/086,590 US20050165773A1 (en) 2001-03-14 2005-03-21 Executing dynamically assigned functions while providing services

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/062,045 Division US7024662B2 (en) 2001-03-14 2002-01-31 Executing dynamically assigned functions while providing services

Publications (1)

Publication Number Publication Date
US20050165773A1 true US20050165773A1 (en) 2005-07-28

Family

ID=26741804

Family Applications (5)

Application Number Title Priority Date Filing Date
US10/062,045 Expired - Lifetime US7024662B2 (en) 2001-03-14 2002-01-31 Executing dynamically assigned functions while providing services
US11/086,590 Abandoned US20050165773A1 (en) 2001-03-14 2005-03-21 Executing dynamically assigned functions while providing services
US11/347,448 Expired - Fee Related US8572576B2 (en) 2001-03-14 2006-02-03 Executing dynamically assigned functions while providing services
US14/045,704 Expired - Lifetime US9413817B2 (en) 2001-03-14 2013-10-03 Executing dynamically assigned functions while providing services
US15/214,307 Abandoned US20170017529A1 (en) 2001-03-14 2016-07-19 Executing dynamically assigned functions while providing services

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/062,045 Expired - Lifetime US7024662B2 (en) 2001-03-14 2002-01-31 Executing dynamically assigned functions while providing services

Family Applications After (3)

Application Number Title Priority Date Filing Date
US11/347,448 Expired - Fee Related US8572576B2 (en) 2001-03-14 2006-02-03 Executing dynamically assigned functions while providing services
US14/045,704 Expired - Lifetime US9413817B2 (en) 2001-03-14 2013-10-03 Executing dynamically assigned functions while providing services
US15/214,307 Abandoned US20170017529A1 (en) 2001-03-14 2016-07-19 Executing dynamically assigned functions while providing services

Country Status (1)

Country Link
US (5) US7024662B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020133535A1 (en) * 2001-03-14 2002-09-19 Microsoft Corporation Identity-centric data access
US20030131069A1 (en) * 2001-03-14 2003-07-10 Lucovsky Mark H. Schema-based context service
US20060161554A1 (en) * 2001-03-14 2006-07-20 Microsoft Corporation Schema-Based Services For Identity-Based Data Access
US20080004593A1 (en) * 2006-06-07 2008-01-03 Lodge Richard W Absorbent article having an anchored core assembly
US20080230682A1 (en) * 2007-03-20 2008-09-25 Semiconductor Energy Laboratory Co., Ltd. Method for manufacturing a semiconductor device
US8572576B2 (en) 2001-03-14 2013-10-29 Microsoft Corporation Executing dynamically assigned functions while providing services
US8858523B2 (en) 2007-09-07 2014-10-14 The Procter & Gamble Company Disposable wearable absorbent articles with anchoring subsystems
US9056031B2 (en) 2007-09-07 2015-06-16 The Procter & Gamble Company Disposable wearable absorbent articles with anchoring subsystems
US9060900B2 (en) 2007-09-07 2015-06-23 The Proctor & Gamble Company Disposable wearable absorbent articles with anchoring subsystems
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010565B2 (en) * 2002-09-30 2006-03-07 Sampson Scott E Communication management using a token action log
US6804687B2 (en) * 2002-09-30 2004-10-12 Scott E. Sampson File system management with user-definable functional attributes stored in a token action log
US8051172B2 (en) 2002-09-30 2011-11-01 Sampson Scott E Methods for managing the exchange of communication tokens
US7533383B2 (en) * 2003-11-12 2009-05-12 International Business Machines Corporation Method, system, and apparatus for scheduling pattern based web services
US7716728B2 (en) * 2004-02-16 2010-05-11 Microsoft Corproation Security scopes and profiles
US7640573B2 (en) * 2004-02-16 2009-12-29 Microsoft Corporation Generic security claim processing model
US7873831B2 (en) * 2004-02-26 2011-01-18 Microsoft Corporation Digests to identify elements in a signature process
US8566400B2 (en) 2004-09-30 2013-10-22 International Business Machines Corporation On demand email response
US8789013B1 (en) 2006-08-28 2014-07-22 Rockwell Automation Technologies, Inc. Ordered execution of events in a data-driven architecture
US7915126B2 (en) * 2007-02-14 2011-03-29 Micron Technology, Inc. Methods of forming non-volatile memory cells, and methods of forming NAND cell unit string gates
JP4661854B2 (en) * 2007-11-09 2011-03-30 株式会社デンソー Inspection system and program
US8473455B2 (en) 2008-09-03 2013-06-25 Microsoft Corporation Query-oriented message characterization
US8099498B2 (en) * 2008-09-03 2012-01-17 Microsoft Corporation Probabilistic mesh routing
US9339691B2 (en) 2012-01-05 2016-05-17 Icon Health & Fitness, Inc. System and method for controlling an exercise device
WO2014153158A1 (en) 2013-03-14 2014-09-25 Icon Health & Fitness, Inc. Strength training apparatus with flywheel and related methods
US9122804B2 (en) * 2013-05-15 2015-09-01 Oracle Internation Corporation Logic validation and deployment
CN105848733B (en) 2013-12-26 2018-02-13 爱康保健健身有限公司 Magnetic resistance mechanism in hawser apparatus
US10433612B2 (en) 2014-03-10 2019-10-08 Icon Health & Fitness, Inc. Pressure sensor to quantify work
WO2015191445A1 (en) 2014-06-09 2015-12-17 Icon Health & Fitness, Inc. Cable system incorporated into a treadmill
WO2015195965A1 (en) 2014-06-20 2015-12-23 Icon Health & Fitness, Inc. Post workout massage device
US10391361B2 (en) 2015-02-27 2019-08-27 Icon Health & Fitness, Inc. Simulating real-world terrain on an exercise device
US10127398B2 (en) * 2015-09-18 2018-11-13 Rovi Guides, Inc. Methods and systems for implementing parental controls
US10272317B2 (en) 2016-03-18 2019-04-30 Icon Health & Fitness, Inc. Lighted pace feature in a treadmill
US10625137B2 (en) 2016-03-18 2020-04-21 Icon Health & Fitness, Inc. Coordinated displays in an exercise device
US10493349B2 (en) 2016-03-18 2019-12-03 Icon Health & Fitness, Inc. Display on exercise device
US10671705B2 (en) 2016-09-28 2020-06-02 Icon Health & Fitness, Inc. Customizing recipe recommendations
US10479356B1 (en) 2018-08-17 2019-11-19 Lyft, Inc. Road segment similarity determination
US11157007B2 (en) * 2019-06-28 2021-10-26 Lyft, Inc. Approaches for encoding environmental information
US11449475B2 (en) 2019-06-28 2022-09-20 Lyft, Inc. Approaches for encoding environmental information
US11788846B2 (en) 2019-09-30 2023-10-17 Lyft, Inc. Mapping and determining scenarios for geographic regions
US11816900B2 (en) 2019-10-23 2023-11-14 Lyft, Inc. Approaches for encoding environmental information
US11222722B2 (en) * 2019-11-18 2022-01-11 Flex Dental Solutions, Llc Systems and methods for dynamic dental treatment plans

Citations (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218680A (en) * 1990-03-15 1993-06-08 International Business Machines Corporation Data link controller with autonomous in tandem pipeline circuit elements relative to network channels for transferring multitasking data in cyclically recurrent time slots
US5440744A (en) * 1990-08-14 1995-08-08 Digital Equipment Corporation Methods and apparatus for implementing server functions in a distributed heterogeneous environment
US5485409A (en) * 1992-04-30 1996-01-16 International Business Machines Corporation Automated penetration analysis system and method
US5544285A (en) * 1991-11-08 1996-08-06 International Business Machines Corporation Graphical user interface control for replicating data fields in forms
US5754175A (en) * 1992-12-01 1998-05-19 Microsoft Corporation Method and system for in-place interaction with contained objects
US5819092A (en) * 1994-11-08 1998-10-06 Vermeer Technologies, Inc. Online service development tool with fee setting capabilities
US5930801A (en) * 1997-03-07 1999-07-27 Xerox Corporation Shared-data environment in which each file has independent security properties
US5956715A (en) * 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
US6003079A (en) * 1997-02-27 1999-12-14 Hewlett Packard Company System and method for continuously measuring quality of service in a federated application environment
US6106573A (en) * 1997-06-12 2000-08-22 Advanced Micro Devices, Inc. Apparatus and method for tracing microprocessor instructions
US6122629A (en) * 1998-04-30 2000-09-19 Compaq Computer Corporation Filesystem data integrity in a single system image environment
US6148290A (en) * 1998-09-04 2000-11-14 International Business Machines Corporation Service contract for managing service systems
US6151624A (en) * 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
US6161125A (en) * 1998-05-14 2000-12-12 Sun Microsystems, Inc. Generic schema for storing configuration information on a client computer
US6192380B1 (en) * 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
US6243830B1 (en) * 1997-05-08 2001-06-05 Yazaki Corporation State information managing method and communication system
US6253204B1 (en) * 1997-12-17 2001-06-26 Sun Microsystems, Inc. Restoring broken links utilizing a spider process
US6272506B1 (en) * 1997-09-12 2001-08-07 Doxis, Llc Computerized verification form processing system and method
US20010023421A1 (en) * 1999-12-16 2001-09-20 International Business Machines Corporation Access control system, access control method, storage medium and program transmission apparatus
US6308216B1 (en) * 1997-11-14 2001-10-23 International Business Machines Corporation Service request routing using quality-of-service data and network resource information
US6314093B1 (en) * 1997-12-24 2001-11-06 Nortel Networks Limited Traffic route finder in communications network
US6327574B1 (en) * 1998-07-07 2001-12-04 Encirq Corporation Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
US6330610B1 (en) * 1997-12-04 2001-12-11 Eric E. Docter Multi-stage data filtering system employing multiple filtering criteria
US20020013788A1 (en) * 1998-11-10 2002-01-31 Pennell Mark E. System and method for automatically learning information used for electronic form-filling
US20020019828A1 (en) * 2000-06-09 2002-02-14 Mortl William M. Computer-implemented method and apparatus for obtaining permission based data
US20020059342A1 (en) * 1997-10-23 2002-05-16 Anoop Gupta Annotating temporally-dimensioned multimedia content
US20020083048A1 (en) * 2000-09-26 2002-06-27 I2 Technologies, Inc. System and method for selective database indexing
US20020085579A1 (en) * 2000-12-29 2002-07-04 Gateway, Inc. Shared registry with multiple keys for storing preferences and other applications on a local area network
US20020103661A1 (en) * 2000-10-30 2002-08-01 International Business Machines Corporation System and method for representation of business policy and governing the conduct of business activities using a business rules book
US20020133627A1 (en) * 2001-03-19 2002-09-19 International Business Machines Corporation Intelligent document filtering
US20020133535A1 (en) * 2001-03-14 2002-09-19 Microsoft Corporation Identity-centric data access
US6457066B1 (en) * 1997-11-10 2002-09-24 Microsoft Corporation Simple object access protocol
US6470450B1 (en) * 1998-12-23 2002-10-22 Entrust Technologies Limited Method and apparatus for controlling application access to limited access based data
US20020157007A1 (en) * 2001-04-18 2002-10-24 Nec Corporation User authentication system and user authentication method used therefor
US20030004874A1 (en) * 2001-04-03 2003-01-02 Bottomline Technologies (De) Inc. Electronic bill presentment system with client specific formatting of data
US6510439B1 (en) * 1999-08-06 2003-01-21 Lucent Technologies Inc. Method and system for consistent update and retrieval of document in a WWW server
US20030023263A1 (en) * 2001-07-24 2003-01-30 Incept Llc Apparatus and methods for aspirating emboli
US20030041065A1 (en) * 2001-03-14 2003-02-27 Mark Lucovsky Schema-based services for identity-based access to contacts data
US20030041076A1 (en) * 2001-03-14 2003-02-27 Lucovsky Mark H. Schema-based services for identity-based access to calendar data
US20030050911A1 (en) * 2001-03-14 2003-03-13 Mark Lucovsky Schema-based services for identity-based access to profile data
US20030061365A1 (en) * 2001-03-14 2003-03-27 Microsoft Corporation Service-to-service communication for network services
US6542923B2 (en) * 1997-08-21 2003-04-01 Planet Web, Inc. Active electronic mail
US20030069887A1 (en) * 2001-03-14 2003-04-10 Lucovsky Mark H. Schema-based services for identity-based access to inbox data
US6571279B1 (en) * 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US20030101190A1 (en) * 2001-03-14 2003-05-29 Microsoft Corporation Schema-based notification service
US6574631B1 (en) * 2000-08-09 2003-06-03 Oracle International Corporation Methods and systems for runtime optimization and customization of database applications and application entities
US6581095B1 (en) * 1998-12-31 2003-06-17 Hyundai Electronics Industries Co., Ltd. Apparatus for matching a large amount of configuration data between exchanger and telecommunication management network repeater in code division multiple access system and control method thereof
US20030115228A1 (en) * 2001-03-14 2003-06-19 Horvitz Eric J. Schema-based service for identity-based access to location data
US20030131069A1 (en) * 2001-03-14 2003-07-10 Lucovsky Mark H. Schema-based context service
US20030131142A1 (en) * 2001-03-14 2003-07-10 Horvitz Eric J. Schema-based information preference settings
US20030131073A1 (en) * 2001-03-14 2003-07-10 Lucovsky Mark H. Schema-based services for identity-based data access
US6594666B1 (en) * 2000-09-25 2003-07-15 Oracle International Corp. Location aware application development framework
US20030135411A1 (en) * 2002-01-11 2003-07-17 Kazumasa Ushiki Content adaptation service control system
US20030133553A1 (en) * 2002-01-15 2003-07-17 Khakoo Shabbir A. Method and apparatus for delivering enhanced caller identification services to a called party
US20030149696A1 (en) * 2002-02-07 2003-08-07 Steve Nelson Internet based system for creating presentations
US20030177135A1 (en) * 2000-10-13 2003-09-18 Axon Information Technology Pty Ltd. Multi-user database for computer-based information
US6651217B1 (en) * 1999-09-01 2003-11-18 Microsoft Corporation System and method for populating forms with previously used data values
US20040006564A1 (en) * 2002-06-28 2004-01-08 Lucovsky Mark H. Schema-based service for identity-based data access to category data
US20040010451A1 (en) * 2002-07-12 2004-01-15 Romano Aaron A. Method and system for finalizing specific processes through a dynamic system
US6684204B1 (en) * 2000-06-19 2004-01-27 International Business Machines Corporation Method for conducting a search on a network which includes documents having a plurality of tags
US20040024866A1 (en) * 2002-07-31 2004-02-05 Murali Sundar Service creator apparatus, systems, and methods
US6694429B1 (en) * 1998-08-04 2004-02-17 At&T Corp. Method for establishing call state information without maintaining state information at gate controllers
US6708137B2 (en) * 2001-07-16 2004-03-16 Cable & Wireless Internet Services, Inc. System and method for providing composite variance analysis for network operation
US6711585B1 (en) * 1999-06-15 2004-03-23 Kanisa Inc. System and method for implementing a knowledge management system
US20040060002A1 (en) * 2002-09-12 2004-03-25 Microsoft Corporation Schema-based service for identity-based access to lists
US6745011B1 (en) * 2000-09-01 2004-06-01 Telephia, Inc. System and method for measuring wireless device and network usage and performance metrics
US6754470B2 (en) * 2000-09-01 2004-06-22 Telephia, Inc. System and method for measuring wireless device and network usage and performance metrics
US20040205526A1 (en) * 2001-09-28 2004-10-14 Vadim Borodovski Prompted form filling mechanism
US20040205656A1 (en) * 2002-01-30 2004-10-14 Benefitnation Document rules data structure and method of document publication therefrom
US6816886B2 (en) * 2002-03-14 2004-11-09 Microsoft Corporation Measuring performance metrics of networked computing entities
US6820204B1 (en) * 1999-03-31 2004-11-16 Nimesh Desai System and method for selective information exchange
US6823369B2 (en) * 2001-03-14 2004-11-23 Microsoft Corporation Using state information in requests that are transmitted in a distributed network environment
US6850975B1 (en) * 1999-11-29 2005-02-01 Intel Corporation Web site monitoring
US6857013B2 (en) * 1999-01-29 2005-02-15 Intermec Ip.Corp. Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
US6868447B1 (en) * 2000-05-09 2005-03-15 Sun Microsystems, Inc. Mechanism and apparatus for returning results of services in a distributed computing environment
US6892201B2 (en) * 2001-09-05 2005-05-10 International Business Machines Corporation Apparatus and method for providing access rights information in a portion of a file
US20050100150A1 (en) * 2002-09-30 2005-05-12 Avaya Technology Corp. Method and apparatus for delivering documents with identification information to a called party
US6917937B1 (en) * 2000-11-01 2005-07-12 Sas Institute Inc. Server-side object filtering
US6925307B1 (en) * 2000-07-13 2005-08-02 Gtech Global Services Corporation Mixed-mode interaction
US6985958B2 (en) * 2001-03-14 2006-01-10 Microsoft Corporation Messaging infrastructure for identity-centric data access
US6986145B2 (en) * 2001-03-13 2006-01-10 Dipayan Gangopadhyay In-context access to relevant services from multiple applications and information systems by object schema traversal
US6993502B1 (en) * 1999-11-11 2006-01-31 Cch Incorporated Transaction tax collection system and method
US7072843B2 (en) * 2001-03-23 2006-07-04 Restaurant Services, Inc. System, method and computer program product for error checking in a supply chain management framework
US20060150140A1 (en) * 2001-03-14 2006-07-06 Microsoft Corporation Executing dynamically assigned functions while providing services
US7136859B2 (en) * 2001-03-14 2006-11-14 Microsoft Corporation Accessing heterogeneous data in a standardized manner
US7206788B2 (en) * 2002-07-30 2007-04-17 Microsoft Corporation Schema-based services for identity-based access to device data
US7210147B1 (en) * 1999-10-05 2007-04-24 Veritas Operating Corporation IP virtualization
US7216287B2 (en) * 2002-08-02 2007-05-08 International Business Machines Corporation Personal voice portal service
US7246122B2 (en) * 2002-06-28 2007-07-17 Microsoft Corporation Schema-based services for identity-based data access to favorite website data
US7250846B2 (en) * 2002-03-05 2007-07-31 International Business Machines Corporation Method and apparatus for providing dynamic user alert
US7284271B2 (en) * 2001-03-14 2007-10-16 Microsoft Corporation Authorizing a requesting entity to operate upon data structures
US7284197B2 (en) * 2002-06-28 2007-10-16 Microsoft Corporation Schema-based services for identity-based data access to application settings data

Family Cites Families (358)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4731750A (en) 1984-01-04 1988-03-15 International Business Machines Corporation Workstation resource sharing
US5031089A (en) 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
EP0809185B1 (en) 1990-09-18 1999-12-08 Fujitsu Limited A shared storage duplicating method
US5446880A (en) 1992-08-31 1995-08-29 At&T Corp. Database communication system that provides automatic format translation and transmission of records when the owner identified for the record is changed
US5867712A (en) * 1993-04-05 1999-02-02 Shaw; Venson M. Single chip integrated circuit system architecture for document instruction set computing
US5544302A (en) 1993-06-03 1996-08-06 Taligent, Inc. Object-oriented framework for creating and using container objects with built-in properties
CA2141931A1 (en) 1993-06-03 1994-12-22 Robert David Dickinson Place object system
US5666534A (en) 1993-06-29 1997-09-09 Bull Hn Information Systems Inc. Method and appartus for use by a host system for mechanizing highly configurable capabilities in carrying out remote support for such system
GB2345157B (en) 1998-12-23 2003-06-18 Ibm Publish and subscribe data processing apparatus, method and computer program product with declaration of a unique publisher broker
US5493692A (en) 1993-12-03 1996-02-20 Xerox Corporation Selective delivery of electronic messages in a multiple computer system based on context and environment of a user
US5487141A (en) 1994-01-21 1996-01-23 Borland International, Inc. Development system with methods for visual inheritance and improved object reusability
US5640504A (en) 1994-01-24 1997-06-17 Advanced Computer Applications, Inc. Distributed computing network
US5586311A (en) 1994-02-14 1996-12-17 American Airlines, Inc. Object oriented data access and analysis system
EP0687089B1 (en) * 1994-06-10 2003-05-28 Hewlett-Packard Company, A Delaware Corporation Event-processing system and method of constructing such a system
US5694539A (en) 1994-08-10 1997-12-02 Intrinsa Corporation Computer process resource modelling method and apparatus
EP0697662B1 (en) 1994-08-15 2001-05-30 International Business Machines Corporation Method and system for advanced role-based access control in distributed and centralized computer systems
US5742905A (en) 1994-09-19 1998-04-21 Bell Communications Research, Inc. Personal communications internetworking
US5901312A (en) 1994-12-13 1999-05-04 Microsoft Corporation Providing application programs with unmediated access to a contested hardware resource
US5687376A (en) * 1994-12-15 1997-11-11 International Business Machines Corporation System for monitoring performance of advanced graphics driver including filter modules for passing supported commands associated with function calls and recording task execution time for graphic operation
US7127328B2 (en) 1994-12-30 2006-10-24 Power Measurement Ltd. System and method for federated security in an energy management system
EP0733971A3 (en) 1995-03-22 1999-07-07 Sun Microsystems, Inc. Method and apparatus for managing connections for communication among objects in a distributed object system
US5758184A (en) 1995-04-24 1998-05-26 Microsoft Corporation System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads
US5640569A (en) 1995-04-28 1997-06-17 Sun Microsystems, Inc. Diverse goods arbitration system and method for allocating resources in a distributed computer system
US5729682A (en) 1995-06-07 1998-03-17 International Business Machines Corporation System for prompting parameters required by a network application and using data structure to establish connections between local computer, application and resources required by application
US6807558B1 (en) * 1995-06-12 2004-10-19 Pointcast, Inc. Utilization of information “push” technology
US5778227A (en) * 1995-08-01 1998-07-07 Intergraph Corporation System for adding attributes to an object at run time in an object oriented computer environment
US5634053A (en) 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases
US5754111A (en) 1995-09-20 1998-05-19 Garcia; Alfredo Medical alerting system
US5774670A (en) 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US5787283A (en) * 1995-10-27 1998-07-28 International Business Machines Corporation Framework for manufacturing logistics decision support
US5790785A (en) 1995-12-11 1998-08-04 Customer Communications Group, Inc. World Wide Web registration information processing system
JPH09167141A (en) 1995-12-18 1997-06-24 Hitachi Ltd Load distribution control method
US5787427A (en) 1996-01-03 1998-07-28 International Business Machines Corporation Information handling system, method, and article of manufacture for efficient object security processing by grouping objects sharing common control access policies
US5873084A (en) 1996-01-18 1999-02-16 Sun Microsystems, Inc. Database network connectivity product
US6047327A (en) 1996-02-16 2000-04-04 Intel Corporation System for distributing electronic information to a targeted group of users
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5911139A (en) 1996-03-29 1999-06-08 Virage, Inc. Visual image database search engine which allows for different schema
US5867799A (en) * 1996-04-04 1999-02-02 Lang; Andrew K. Information system and method for filtering a massive flow of information entities to meet user information classification needs
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
AUPN955096A0 (en) 1996-04-29 1996-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Telecommunications information dissemination system
US5933820A (en) 1996-05-20 1999-08-03 International Business Machines Corporation System, method, and program for using direct and indirect pointers to logically related data and targets of indexes
US5872926A (en) 1996-05-31 1999-02-16 Adaptive Micro Systems, Inc. Integrated message system
US6044224A (en) * 1996-06-26 2000-03-28 Sun Microsystems, Inc. Mechanism for dynamically associating a service dependent representation with objects at run time
US5835722A (en) * 1996-06-27 1998-11-10 Logon Data Corporation System to control content and prohibit certain interactive attempts by a person using a personal computer
US6088451A (en) 1996-06-28 2000-07-11 Mci Communications Corporation Security system and method for network element access
US5826252A (en) * 1996-06-28 1998-10-20 General Electric Company System for managing multiple projects of similar type using dynamically updated global database
US6021403A (en) 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US6721941B1 (en) * 1996-08-27 2004-04-13 Compuware Corporation Collection of timing and coverage data through a debugging interface
JPH1074159A (en) 1996-08-30 1998-03-17 Hitachi Ltd Method for controlling computer system
US5926810A (en) 1996-08-30 1999-07-20 Oracle Corporation Universal schema system
US5870739A (en) 1996-09-20 1999-02-09 Novell, Inc. Hybrid query apparatus and method
US5684950A (en) 1996-09-23 1997-11-04 Lockheed Martin Corporation Method and system for authenticating users to multiple computer servers via a single sign-on
US6018343A (en) 1996-09-27 2000-01-25 Timecruiser Computing Corp. Web calendar architecture and uses thereof
US5870759A (en) 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image of data
US5944823A (en) 1996-10-21 1999-08-31 International Business Machines Corporations Outside access to computer resources through a firewall
US5809509A (en) 1996-10-25 1998-09-15 International Business Machines Corporation Method for using a non-object-oriented datastore as a generic persistent datastore for persistent objects
US9418381B2 (en) 2000-04-14 2016-08-16 Citigroup Credit Services, Inc. (USA) Method and system for notifying customers of transaction opportunities
US5937189A (en) * 1996-11-12 1999-08-10 International Business Machines Corporation Object oriented framework mechanism for determining configuration relations
US6385715B1 (en) 1996-11-13 2002-05-07 Intel Corporation Multi-threading for a processor utilizing a replay queue
US6023765A (en) 1996-12-06 2000-02-08 The United States Of America As Represented By The Secretary Of Commerce Implementation of role-based access control in multi-level secure systems
US5748890A (en) 1996-12-23 1998-05-05 U S West, Inc. Method and system for authenticating and auditing access by a user to non-natively secured applications
US6049821A (en) * 1997-01-24 2000-04-11 Motorola, Inc. Proxy host computer and method for accessing and retrieving information between a browser and a proxy
CA2278709A1 (en) * 1997-01-27 1998-08-13 Benjamin Slotznick System for delivering and displaying primary and secondary information
US5864848A (en) 1997-01-31 1999-01-26 Microsoft Corporation Goal-driven information interpretation and extraction system
AUPO527497A0 (en) 1997-02-25 1997-03-20 Mclaren Software Technology Pty Ltd Application messaging system
JP3497342B2 (en) 1997-02-27 2004-02-16 株式会社日立製作所 Client / server system, server, client processing method, and server processing method
US5990883A (en) 1997-04-28 1999-11-23 Microsoft Corporation Unified presentation of programming from different physical sources
US5987454A (en) 1997-06-09 1999-11-16 Hobbs; Allen Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource
US6092101A (en) 1997-06-16 2000-07-18 Digital Equipment Corporation Method for filtering mail messages for a plurality of client computers connected to a mail service system
US6185551B1 (en) 1997-06-16 2001-02-06 Digital Equipment Corporation Web-based electronic mail service apparatus and method using full text and label indexing
US6282548B1 (en) 1997-06-21 2001-08-28 Alexa Internet Automatically generate and displaying metadata as supplemental information concurrently with the web page, there being no link between web page and metadata
CA2241767C (en) 1997-06-27 2004-01-20 Juxtacomm Technologies Inc. A system for transforming and exchanging data between distributed heterogeneous computer systems
JPH1185750A (en) 1997-07-08 1999-03-30 Hitachi Ltd Structured document rpocessing method, structured document rpocessor and computer-readable recording medium recorded with structured document processing program
US20030018771A1 (en) 1997-07-15 2003-01-23 Computer Associates Think, Inc. Method and apparatus for generating and recognizing speech as a user interface element in systems and network management
US6044372A (en) 1997-07-18 2000-03-28 Dazel Corporation Method and apparatus for publishing information to a communications network and enabling subscriptions to such information
US6317795B1 (en) 1997-07-22 2001-11-13 International Business Machines Corporation Dynamic modification of multimedia content
DE69808632T2 (en) * 1997-07-25 2003-06-12 British Telecomm Creation of software systems
US6442549B1 (en) 1997-07-25 2002-08-27 Eric Schneider Method, product, and apparatus for processing reusable information
US5956730A (en) 1997-08-15 1999-09-21 International Business Machines Corporation Legacy subclassing
US6226642B1 (en) * 1997-09-11 2001-05-01 International Business Machines Corporation Content modification of internet web pages for a television class display
US5983273A (en) 1997-09-16 1999-11-09 Webtv Networks, Inc. Method and apparatus for providing physical security for a user account and providing access to the user's environment and preferences
US6119122A (en) 1997-09-17 2000-09-12 Novell, Inc. Method and apparatus for generically viewing and editing objects
US5983234A (en) 1997-09-17 1999-11-09 Novell, Inc. Method and apparatus for generically viewing and editing objects
US6016394A (en) 1997-09-17 2000-01-18 Tenfold Corporation Method and system for database application software creation requiring minimal programming
US6192408B1 (en) 1997-09-26 2001-02-20 Emc Corporation Network file server sharing local caches of file access information in data processors assigned to respective file systems
US5974443A (en) 1997-09-26 1999-10-26 Intervoice Limited Partnership Combined internet and data access system
US6081840A (en) 1997-10-14 2000-06-27 Zhao; Yan Two-level content distribution system
US20020002458A1 (en) 1997-10-22 2002-01-03 David E. Owen System and method for representing complex information auditorially
US6317868B1 (en) * 1997-10-24 2001-11-13 University Of Washington Process for transparently enforcing protection domains and access control as well as auditing operations in software components
JP4035872B2 (en) 1997-10-27 2008-01-23 株式会社日立製作所 File format conversion method, file system, information system and electronic commerce system using the same
US6269369B1 (en) 1997-11-02 2001-07-31 Amazon.Com Holdings, Inc. Networked personal contact manager
AU1367699A (en) 1997-11-03 1999-05-24 Arial Systems Corporation Personnel and asset tracking method and apparatus
JPH11143827A (en) 1997-11-04 1999-05-28 Toshiba Corp Computer resource allocation system, portable terminal and computer resource managing method
US5974416A (en) 1997-11-10 1999-10-26 Microsoft Corporation Method of creating a tabular data stream for sending rows of data between client and server
US6282709B1 (en) 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager
EP0917119A3 (en) 1997-11-12 2001-01-10 Citicorp Development Center, Inc. Distributed network based electronic wallet
US6202066B1 (en) 1997-11-19 2001-03-13 The United States Of America As Represented By The Secretary Of Commerce Implementation of role/group permission association using object access type
US6216132B1 (en) 1997-11-20 2001-04-10 International Business Machines Corporation Method and system for matching consumers to events
US6654747B1 (en) 1997-12-02 2003-11-25 International Business Machines Corporation Modular scalable system for managing data in a heterogeneous environment with generic structure for control repository access transactions
US6122348A (en) 1997-12-22 2000-09-19 Nortel Networks Corporation System and method for managing incoming communication events using multiple media options
US5999932A (en) 1998-01-13 1999-12-07 Bright Light Technologies, Inc. System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing
US6480830B1 (en) 1998-01-29 2002-11-12 International Business Machines Corporation Active calendar system
US6282698B1 (en) * 1998-02-09 2001-08-28 Lucent Technologies Inc. Detecting similarities in Java sources from bytecodes
US6148302A (en) 1998-02-26 2000-11-14 Sun Microsystems, Inc. Method, apparatus, system and computer program product for initializing a data structure at its first active use
CA2322026A1 (en) 1998-02-27 1999-09-02 Daniel Jaye System and method for building user profiles
US6065012A (en) 1998-02-27 2000-05-16 Microsoft Corporation System and method for displaying and manipulating user-relevant data
US6148336A (en) * 1998-03-13 2000-11-14 Deterministic Networks, Inc. Ordering of multiple plugin applications using extensible layered service provider with network traffic filtering
EP0949787A1 (en) 1998-03-18 1999-10-13 Sony International (Europe) GmbH Multiple personality internet account
US7028312B1 (en) 1998-03-23 2006-04-11 Webmethods XML remote procedure call (XML-RPC)
US7302402B2 (en) 1998-03-30 2007-11-27 International Business Machines Corporation Method, system and program products for sharing state information across domains
US6065055A (en) * 1998-04-20 2000-05-16 Hughes; Patrick Alan Inappropriate site management software
US6301012B1 (en) 1998-04-24 2001-10-09 Hewlett-Packard Company Automatic configuration of a network printer
US6167402A (en) 1998-04-27 2000-12-26 Sun Microsystems, Inc. High performance message store
US6144996A (en) * 1998-05-13 2000-11-07 Compaq Computer Corporation Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network
US6052720A (en) 1998-05-14 2000-04-18 Sun Microsystems, Inc. Generic schema for storing configuration information on a server computer
US6279111B1 (en) 1998-06-12 2001-08-21 Microsoft Corporation Security model using restricted tokens
US6308273B1 (en) 1998-06-12 2001-10-23 Microsoft Corporation Method and system of security location discrimination
US6101480A (en) 1998-06-19 2000-08-08 International Business Machines Electronic calendar with group scheduling and automated scheduling techniques for coordinating conflicting schedules
ATE345528T1 (en) * 1998-06-19 2006-12-15 Sun Microsystems Inc DIMENSIONABLE PROXY SERVERS WITH INSERT FILTERS
US6141778A (en) 1998-06-29 2000-10-31 Mci Communications Corporation Method and apparatus for automating security functions in a computer system
US6199081B1 (en) 1998-06-30 2001-03-06 Microsoft Corporation Automatic tagging of documents and exclusion by content
US6148301A (en) 1998-07-02 2000-11-14 First Data Corporation Information distribution system
US6182142B1 (en) 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6490721B1 (en) * 1998-07-14 2002-12-03 Oc Systems Incorporated Software debugging method and apparatus
US6553427B1 (en) 1998-07-24 2003-04-22 Mci Communications Corporation Object-oriented encapsulation of a telecommunications service protocol interface
JP3558887B2 (en) 1998-08-28 2004-08-25 株式会社東芝 Distributed system, control method thereof, and storage medium
US6167408A (en) 1998-08-31 2000-12-26 International Business Machines Corporation Comparative updates tracking to synchronize local operating parameters with centrally maintained reference parameters in a multiprocessing system
US6351843B1 (en) * 1998-08-31 2002-02-26 International Business Machines Corporation Dynamically inserting a function into an application executable at runtime
US7197534B2 (en) 1998-09-01 2007-03-27 Big Fix, Inc. Method and apparatus for inspecting the properties of a computer
US6256664B1 (en) 1998-09-01 2001-07-03 Bigfix, Inc. Method and apparatus for computed relevance messaging
US6516341B2 (en) 1998-09-14 2003-02-04 Juno Online Services, Inc. Electronic mail system with advertising
WO2000016209A1 (en) 1998-09-15 2000-03-23 Local2Me.Com, Inc. Dynamic matchingtm of users for group communication
US6453317B1 (en) 1998-09-29 2002-09-17 Worldcom, Inc. Customer information storage and delivery system
US6253203B1 (en) 1998-10-02 2001-06-26 Ncr Corporation Privacy-enhanced database
US6480850B1 (en) 1998-10-02 2002-11-12 Ncr Corporation System and method for managing data privacy in a database management system including a dependently connected privacy data mart
US6275824B1 (en) 1998-10-02 2001-08-14 Ncr Corporation System and method for managing data privacy in a database management system
US6226792B1 (en) * 1998-10-14 2001-05-01 Unisys Corporation Object management system supporting the use of application domain knowledge mapped to technology domain knowledge
US8006177B1 (en) 1998-10-16 2011-08-23 Open Invention Network, Llc Documents for commerce in trading partner networks and interface definitions based on the documents
US6324544B1 (en) 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
US6163794A (en) 1998-10-23 2000-12-19 General Magic Network system extensible by users
ES2200753T3 (en) 1998-10-28 2004-03-16 Verticalone Corporation APPARATUS AND METHOD FOR AGGREGATION AND AUTOMATED SUPPLY OF TRANSACTIONS THAT INVOLVE INFORMATION OR PERSONAL ELECTRONIC DATA.
AU1343800A (en) 1998-11-05 2000-05-22 Neuvis, Inc. Method for controlling access to information
US6397246B1 (en) * 1998-11-13 2002-05-28 International Business Machines Corporation Method and system for processing document requests in a network system
JP2000163345A (en) 1998-11-25 2000-06-16 Seiko Epson Corp Device control system, information registering method, device utilizing method and storage medium recording computer program
US6263498B1 (en) * 1998-12-03 2001-07-17 International Business Machines Corporation Method and apparatus for enabling server side distributed object modification
US6336118B1 (en) 1998-12-03 2002-01-01 International Business Machines Corporation Framework within a data processing system for manipulating program objects
JP2000172657A (en) 1998-12-08 2000-06-23 Fujitsu Ltd System and method for distributed processing, computer- readable recording medium with program for computer to execute the same method recorded therein, server device and client device
US6801223B1 (en) 1998-12-18 2004-10-05 Tangis Corporation Managing interactions between computer users' context models
US6513046B1 (en) 1999-12-15 2003-01-28 Tangis Corporation Storing and recalling information to augment human memories
US6711612B1 (en) 1998-12-18 2004-03-23 Emc Corporation System for facilitating the transfer of management information from a remote mass storage subsystem over a switching fabric or selectively over a private link to a central location for servicing
US6791580B1 (en) 1998-12-18 2004-09-14 Tangis Corporation Supplying notifications related to supply and consumption of user context data
US6466232B1 (en) 1998-12-18 2002-10-15 Tangis Corporation Method and system for controlling presentation of information to a user based on the user's condition
US6349307B1 (en) 1998-12-28 2002-02-19 U.S. Philips Corporation Cooperative topical servers with automatic prefiltering and routing
JP2001515636A (en) 1998-12-29 2001-09-18 スイスコム アーゲー Method and system for providing an object to a user of a communication network
US6311206B1 (en) 1999-01-13 2001-10-30 International Business Machines Corporation Method and apparatus for providing awareness-triggered push
US6370537B1 (en) 1999-01-14 2002-04-09 Altoweb, Inc. System and method for the manipulation and display of structured data
US6266690B1 (en) 1999-01-27 2001-07-24 Adc Telecommunications, Inc. Enhanced service platform with secure system and method for subscriber profile customization
US6480860B1 (en) 1999-02-11 2002-11-12 International Business Machines Corporation Tagged markup language interface with document type definition to access data in object oriented database
AU2565200A (en) 1999-02-19 2000-09-04 Nokia Networks Oy Network arrangement for communication
ATE228257T1 (en) 1999-02-26 2002-12-15 America Online Inc PROXY SERVER FOR EXPANDING A REQUEST FROM A CLIENT WITH DATA ABOUT THE USER
US6401085B1 (en) 1999-03-05 2002-06-04 Accenture Llp Mobile communication and computing system and method
US6826597B1 (en) * 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
US6023223A (en) 1999-03-18 2000-02-08 Baxter, Jr.; John Francis Early warning detection and notification network for environmental conditions
US6741980B1 (en) 1999-03-23 2004-05-25 Microstrategy Inc. System and method for automatic, real-time delivery of personalized informational and transactional data to users via content delivery device
US6505167B1 (en) 1999-04-20 2003-01-07 Microsoft Corp. Systems and methods for directing automated services for messaging and scheduling
US6560565B2 (en) 1999-04-30 2003-05-06 Veritas Dgc Inc. Satellite-based seismic mobile information and control system
US6459913B2 (en) 1999-05-03 2002-10-01 At&T Corp. Unified alerting device and method for alerting a subscriber in a communication network based upon the result of logical functions
US6757720B1 (en) 1999-05-19 2004-06-29 Sun Microsystems, Inc. Profile service architecture
US6343287B1 (en) 1999-05-19 2002-01-29 Sun Microsystems, Inc. External data store link for a profile service
US6542515B1 (en) 1999-05-19 2003-04-01 Sun Microsystems, Inc. Profile service
US6356940B1 (en) 1999-05-26 2002-03-12 Brian Robert Short Method and system of electronically logging remote user dietary information, and generating and automatically sending suggested dietary modifications
US6519571B1 (en) 1999-05-27 2003-02-11 Accenture Llp Dynamic customer profile management
US6411992B1 (en) 1999-05-28 2002-06-25 Qwest Communications Int'l, Inc. Method and apparatus for broadcasting information over a network
US6351744B1 (en) 1999-05-28 2002-02-26 Unisys Corporation Multi-processor system for database management
US7472349B1 (en) 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6792605B1 (en) 1999-06-10 2004-09-14 Bow Street Software, Inc. Method and apparatus for providing web based services using an XML Runtime model to store state session data
US6910068B2 (en) 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US6574655B1 (en) 1999-06-29 2003-06-03 Thomson Licensing Sa Associative management of multimedia assets and associated resources using multi-domain agent-based communication between heterogeneous peers
US6526438B1 (en) 1999-07-12 2003-02-25 Divine, Inc. Method for distributing information to subscribers over a network
US6405191B1 (en) 1999-07-21 2002-06-11 Oracle Corporation Content based publish-and-subscribe system integrated in a relational database system
US6959415B1 (en) 1999-07-26 2005-10-25 Microsoft Corporation Methods and apparatus for parsing Extensible Markup Language (XML) data streams
US6622160B1 (en) 1999-07-30 2003-09-16 Microsoft Corporation Methods for routing items for communications based on a measure of criticality
US6714967B1 (en) 1999-07-30 2004-03-30 Microsoft Corporation Integration of a computer-based message priority system with mobile electronic devices
US6601233B1 (en) * 1999-07-30 2003-07-29 Accenture Llp Business components framework
US6618716B1 (en) 1999-07-30 2003-09-09 Microsoft Corporation Computational architecture for managing the transmittal and rendering of information, alerts, and notifications
US6718535B1 (en) * 1999-07-30 2004-04-06 Accenture Llp System, method and article of manufacture for an activity framework design in an e-commerce based environment
US6381465B1 (en) 1999-08-27 2002-04-30 Leap Wireless International, Inc. System and method for attaching an advertisement to an SMS message for wireless transmission
US7343351B1 (en) 1999-08-31 2008-03-11 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US6662357B1 (en) * 1999-08-31 2003-12-09 Accenture Llp Managing information in an integrated development architecture framework
US6405364B1 (en) * 1999-08-31 2002-06-11 Accenture Llp Building techniques in a development architecture framework
US6748555B1 (en) * 1999-09-09 2004-06-08 Microsoft Corporation Object-based software management
US6343324B1 (en) 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
US6732080B1 (en) 1999-09-15 2004-05-04 Nokia Corporation System and method of providing personal calendar services
US6314447B1 (en) 1999-10-04 2001-11-06 Sony Corporation System uses local registry and load balancing procedure for identifying processing capabilities of a remote device to perform a processing task
US20030140112A1 (en) 1999-11-04 2003-07-24 Satish Ramachandran Electronic messaging system method and apparatus
US6609148B1 (en) 1999-11-10 2003-08-19 Randy Salo Clients remote access to enterprise networks employing enterprise gateway servers in a centralized data center converting plurality of data requests for messaging and collaboration into a single request
US6823458B1 (en) 1999-11-18 2004-11-23 International Business Machines Corporation Apparatus and method for securing resources shared by multiple operating systems
US6556995B1 (en) 1999-11-18 2003-04-29 International Business Machines Corporation Method to provide global sign-on for ODBC-based database applications
US20040078273A1 (en) 1999-12-08 2004-04-22 Loeb Michael R. Method and apparatus for relational linking based upon customer activities
JP2001175606A (en) 1999-12-20 2001-06-29 Sony Corp Data processor, and data processing equipment and its method
US20040193444A1 (en) 1999-12-28 2004-09-30 Wendy Hufford Computer system for managing litigation risk early warning system
JP2001188965A (en) 1999-12-28 2001-07-10 Optrom Inc Storage medium, and information managing method and information processing system using the storage medium
US6499077B1 (en) 1999-12-30 2002-12-24 Intel Corporation Bus interface unit for reflecting state information for a transfer request to a requesting device
US20020010781A1 (en) * 1999-12-30 2002-01-24 Tuatini Jeffrey Taihana Shared service messaging models
US20010047385A1 (en) 1999-12-30 2001-11-29 Jeffrey Tuatini Passthru to shared service funtionality
US6697865B1 (en) 2000-01-04 2004-02-24 E.Piphany, Inc. Managing relationships of parties interacting on a network
US6845448B1 (en) 2000-01-07 2005-01-18 Pennar Software Corporation Online repository for personal information
US6643652B2 (en) 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
WO2001052056A2 (en) 2000-01-14 2001-07-19 Saba Software, Inc. Method and apparatus for a business applications management system platform
US6757898B1 (en) 2000-01-18 2004-06-29 Mckesson Information Solutions, Inc. Electronic provider—patient interface system
US7024692B1 (en) 2000-01-21 2006-04-04 Unisys Corporation Non pre-authenticated kerberos logon via asynchronous message mechanism
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
WO2001055870A1 (en) 2000-01-26 2001-08-02 Yefim Zhuk Distributed active knowledge and process base
US6591260B1 (en) 2000-01-28 2003-07-08 Commerce One Operations, Inc. Method of retrieving schemas for interpreting documents in an electronic commerce system
US20010029470A1 (en) 2000-02-03 2001-10-11 R. Steven Schultz Electronic transaction receipt system and method
US6816878B1 (en) 2000-02-11 2004-11-09 Steven L. Zimmers Alert notification system
EP1128266A3 (en) * 2000-02-22 2004-02-25 Orsus Solutions Limited Cooperative software application architecture
CA2400442A1 (en) 2000-02-25 2001-08-30 Yet Mui Method for enterprise workforce planning
US7634528B2 (en) 2000-03-16 2009-12-15 Microsoft Corporation Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services
US7249159B1 (en) 2000-03-16 2007-07-24 Microsoft Corporation Notification platform architecture
US6738767B1 (en) 2000-03-20 2004-05-18 International Business Machines Corporation System and method for discovering schematic structure in hypertext documents
US6604099B1 (en) 2000-03-20 2003-08-05 International Business Machines Corporation Majority schema in semi-structured data
US6820082B1 (en) 2000-04-03 2004-11-16 Allegis Corporation Rule based database security system and method
JP2003532955A (en) 2000-04-17 2003-11-05 ショーン・イー・ウィーダリン Online directory assistance system
US20020002625A1 (en) * 2000-04-17 2002-01-03 Mark Vange System and method for reformatting data traffic
US6917373B2 (en) 2000-12-28 2005-07-12 Microsoft Corporation Context sensitive labels for an electronic device
US6584564B2 (en) 2000-04-25 2003-06-24 Sigaba Corporation Secure e-mail system
US6731940B1 (en) 2000-04-28 2004-05-04 Trafficmaster Usa, Inc. Methods of using wireless geolocation to customize content and delivery of information to wireless communication devices
US6601016B1 (en) 2000-04-28 2003-07-29 International Business Machines Corporation Monitoring fitness activity across diverse exercise machines utilizing a universally accessible server system
US6981028B1 (en) 2000-04-28 2005-12-27 Obongo, Inc. Method and system of implementing recorded data for automating internet interactions
US7191236B2 (en) 2000-05-02 2007-03-13 Canon Kabushiki Kaisha Transparent telecommunications system and apparatus
US6799208B1 (en) 2000-05-02 2004-09-28 Microsoft Corporation Resource manager architecture
US6976078B1 (en) 2000-05-08 2005-12-13 International Business Machines Corporation Process for simultaneous user access using access control structures for authoring systems
US6917976B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Message-based leasing of resources in a distributed computing environment
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US7072967B1 (en) 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US6898618B1 (en) 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
JP2004501428A (en) 2000-05-09 2004-01-15 サン・マイクロシステムズ・インコーポレイテッド Method and apparatus for service proximity discovery
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US6850979B1 (en) 2000-05-09 2005-02-01 Sun Microsystems, Inc. Message gates in a distributed computing environment
JP2001325869A (en) 2000-05-17 2001-11-22 Sony Chem Corp Protective element
US6772216B1 (en) 2000-05-19 2004-08-03 Sun Microsystems, Inc. Interaction protocol for managing cross company processes among network-distributed applications
US7062642B1 (en) 2000-05-20 2006-06-13 Ciena Corporation Policy based provisioning of network device resources
JP3642004B2 (en) 2000-05-22 2005-04-27 日本電気株式会社 Relay device, mobile radio communication system, failure notification method thereof, and recording medium recording failure notification program thereof
US6594672B1 (en) 2000-06-01 2003-07-15 Hyperion Solutions Corporation Generating multidimensional output using meta-models and meta-outlines
US20020016173A1 (en) 2000-06-21 2002-02-07 Hunzinger Jason F. Communication of location information in a wireless communication system
US6990513B2 (en) 2000-06-22 2006-01-24 Microsoft Corporation Distributed computing services platform
US6748417B1 (en) 2000-06-22 2004-06-08 Microsoft Corporation Autonomous network service configuration
CA2414379A1 (en) 2000-06-30 2002-01-10 Troy Schultz Method and apparatus for a gis based search engine utilizing real time advertising
US9038170B2 (en) 2000-07-10 2015-05-19 Oracle International Corporation Logging access system events
US7031945B1 (en) 2000-07-24 2006-04-18 Donner Irah H System and method for reallocating and/or upgrading and/or rewarding tickets, other event admittance means, goods and/or services
JP3833450B2 (en) 2000-07-27 2006-10-11 三菱電機株式会社 Communication control method and router
US6601075B1 (en) 2000-07-27 2003-07-29 International Business Machines Corporation System and method of ranking and retrieving documents based on authority scores of schemas and documents
US6766362B1 (en) 2000-07-28 2004-07-20 Seiko Epson Corporation Providing a network-based personalized newspaper with personalized content and layout
US6944662B2 (en) 2000-08-04 2005-09-13 Vinestone Corporation System and methods providing automatic distributed data retrieval, analysis and reporting services
US20040015725A1 (en) * 2000-08-07 2004-01-22 Dan Boneh Client-side inspection and processing of secure content
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
JP4049525B2 (en) 2000-08-16 2008-02-20 富士通株式会社 Distributed processing system
US20020026426A1 (en) 2000-08-24 2002-02-28 Bennett Joseph Michael Method of accessing the internet via the use of automated teller machines
TW512640B (en) 2000-08-25 2002-12-01 Phone Inc W Mobile opinion polling system and method
US6957199B1 (en) 2000-08-30 2005-10-18 Douglas Fisher Method, system and service for conducting authenticated business transactions
US6954751B2 (en) 2000-09-06 2005-10-11 Oracle International Corporation Accessing data stored at an intermediary from a service
US6686838B1 (en) 2000-09-06 2004-02-03 Xanboo Inc. Systems and methods for the automatic registration of devices
US6823495B1 (en) 2000-09-14 2004-11-23 Microsoft Corporation Mapping tool graphical user interface
US6934740B1 (en) 2000-09-19 2005-08-23 3Com Corporation Method and apparatus for sharing common data objects among multiple applications in a client device
EP1189159A1 (en) 2000-09-19 2002-03-20 Niels Mache System for processing like-kind exchange transactions
US6907465B1 (en) 2000-09-22 2005-06-14 Daniel E. Tsai Electronic commerce using personal preferences
US6604209B1 (en) * 2000-09-29 2003-08-05 Sun Microsystems, Inc. Distributed component testing in an enterprise computer system
US6542845B1 (en) * 2000-09-29 2003-04-01 Sun Microsystems, Inc. Concurrent execution and logging of a component test in an enterprise computer system
US20020042846A1 (en) 2000-10-05 2002-04-11 Bottan Gustavo L. Personal support network
US6414635B1 (en) 2000-10-23 2002-07-02 Wayport, Inc. Geographic-based communication service system with more precise determination of a user's known geographic location
US8868448B2 (en) 2000-10-26 2014-10-21 Liveperson, Inc. Systems and methods to facilitate selling of products and services
AU2002243279A1 (en) 2000-11-01 2002-06-18 Flexiworld Technologies, Inc. Controller and manager for device-to-device pervasive digital output
FI20002402A (en) 2000-11-01 2002-05-02 Nokia Corp Configuration control in a distributed environment
US8996698B1 (en) 2000-11-03 2015-03-31 Truphone Limited Cooperative network for mobile internet access
EP1334463B1 (en) * 2000-11-06 2010-03-31 Koninklijke Philips Electronics N.V. Method of measuring the movement of an input device.
CA2326368A1 (en) 2000-11-20 2002-05-20 Adexact Corporation Method and system for targeted content delivery, presentation, management, and reporting
US20020090934A1 (en) 2000-11-22 2002-07-11 Mitchelmore Eliott R.D. Content and application delivery and management platform system and method
US6678682B1 (en) 2000-11-28 2004-01-13 G.E. Information Services, Inc. Method, system, and software for enterprise access management control
US20020065881A1 (en) 2000-11-29 2002-05-30 Tapio Mansikkaniemi Wireless family bulletin board
US7721210B2 (en) 2000-11-29 2010-05-18 Nokia Corporation Electronic calendar system
US20020069298A1 (en) 2000-12-01 2002-06-06 Jorgen Birkler Mobile terminal having multiple personal information management functionality
US6832237B1 (en) 2000-12-01 2004-12-14 Unisys Corporation Method and apparatus for selecting and/or changing the display resolution of HTML home pages in a web application development environment
US20020129000A1 (en) 2000-12-11 2002-09-12 Vikram Pillai XML file system
US7080406B2 (en) 2000-12-15 2006-07-18 International Business Machines Corporation Method for transferring privilege access to a resource manager with subsequent loss of privilege by the initiating identity
US20030041000A1 (en) 2000-12-18 2003-02-27 Paul Zajac System and method for providing a graphical user interface for a multi-interface financial transaction system
US20020116232A1 (en) 2000-12-18 2002-08-22 Rapp Larry J. System and method for interactive scheduling
US20040139145A1 (en) 2000-12-21 2004-07-15 Bar-Or Gigy Method and apparatus for scalable distributed storage
US6782379B2 (en) 2000-12-22 2004-08-24 Oblix, Inc. Preparing output XML based on selected programs and XML templates
US20020083073A1 (en) 2000-12-22 2002-06-27 Vaidya Neelam N. Managing a layered hierarchical data set
US20030220891A1 (en) 2000-12-22 2003-11-27 Fish Robert D Matter management computer software
US20030061081A1 (en) 2000-12-26 2003-03-27 Appareon System, method and article of manufacture for collaborative supply chain modules of a supply chain system
US20030074247A1 (en) 2000-12-26 2003-04-17 Appareon System, method, and article of manufacture for manipulating the actors in a supply chain system
US20020087397A1 (en) 2000-12-28 2002-07-04 Sam Mazza Buying, selling, and marketing advertisements
US7127514B2 (en) 2000-12-28 2006-10-24 Microsoft Corporation Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client
GB2382898B (en) 2000-12-29 2005-06-29 Zarlink Semiconductor Ltd A method of managing data
US20020099573A1 (en) 2001-01-24 2002-07-25 Hitachi, Ltd. Network solution system of analysis and evaluation
US6907457B2 (en) 2001-01-25 2005-06-14 Dell Inc. Architecture for access to embedded files using a SAN intermediate device
US7337125B2 (en) 2001-01-25 2008-02-26 International Business Machines Corporation System and method for enhancing sales for service providers utilizing an opportunistic approach based on an unexpected change in schedule of services
US6871232B2 (en) 2001-03-06 2005-03-22 International Business Machines Corporation Method and system for third party resource provisioning management
US7136908B2 (en) 2001-01-29 2006-11-14 Intel Corporation Extensible network services system
US20020104017A1 (en) * 2001-01-30 2002-08-01 Rares Stefan Firewall system for protecting network elements connected to a public network
US20020154161A1 (en) 2001-02-01 2002-10-24 Friedman Michael A. Method and system for providing universal remote control of computing devices
US20020133477A1 (en) 2001-03-05 2002-09-19 Glenn Abel Method for profile-based notice and broadcast of multimedia content
US7133869B2 (en) 2001-03-06 2006-11-07 Knowledge Vector, Inc. Methods and systems for and defining and distributing information alerts
US7681032B2 (en) * 2001-03-12 2010-03-16 Portauthority Technologies Inc. System and method for monitoring unauthorized transport of digital content
US20020131428A1 (en) 2001-03-13 2002-09-19 Vivian Pecus Large edge node for simultaneous video on demand and live streaming of satellite delivered content
US20030023623A1 (en) 2001-03-14 2003-01-30 Horvitz Eric J. Schema-based service for identity-based access to presence data
WO2002073442A1 (en) 2001-03-14 2002-09-19 Microsoft Corporation Service-to-service communication for network services
WO2002075534A1 (en) * 2001-03-19 2002-09-26 Empirix Inc. Component/web service operational profile auto-sequencing
JP2002279026A (en) 2001-03-19 2002-09-27 Nec Corp Server, method and program for presenting program interest level
US20060265475A9 (en) * 2001-03-19 2006-11-23 Thomas Mayberry Testing web services as components
US7721110B2 (en) 2001-04-06 2010-05-18 Mcafee, Inc. System and method for secure and verified sharing of resources in a peer-to-peer network environment
US6697809B2 (en) 2001-04-19 2004-02-24 Vigilance, Inc. Data retrieval and transmission system
US20020161838A1 (en) 2001-04-27 2002-10-31 Pickover Cilfford A. Method and apparatus for targeting information
WO2002088908A2 (en) 2001-05-02 2002-11-07 Bitstream Inc. Methods, systems, and programming for producing and displaying subpixel-optimized font bitmaps using non-linear color balancing
US6925481B2 (en) 2001-05-03 2005-08-02 Symantec Corp. Technique for enabling remote data access and manipulation from a pervasive device
US20020184092A1 (en) 2001-06-01 2002-12-05 Cherry Darrel D. Customized advertising methods for personal media services
US7027051B2 (en) 2001-06-29 2006-04-11 International Business Machines Corporation Graphical user interface for visualization of sampled data compared to entitled or reference levels
IL144141A0 (en) 2001-07-04 2002-05-23 Method and system for improving a route along which data is sent using an ip protocol in a data communications network
US7562112B2 (en) 2001-07-06 2009-07-14 Intel Corporation Method and apparatus for peer-to-peer services for efficient transfer of information between networks
CN100346338C (en) * 2001-07-12 2007-10-31 捷讯研究有限公司 System and method for providing remote data access and transcoding for a mobile communication device
US20030014659A1 (en) * 2001-07-16 2003-01-16 Koninklijke Philips Electronics N.V. Personalized filter for Web browsing
US7002942B2 (en) 2001-08-02 2006-02-21 Motorola, Inc. Method and apparatus for communicating information by splitting information among a plurality of proximal units
US6958984B2 (en) 2001-08-02 2005-10-25 Motorola, Inc. Method and apparatus for aggregation of wireless resources of proximal wireless units to facilitate diversity signal combining
US7113771B2 (en) 2001-08-02 2006-09-26 Motorola, Inc. Method and apparatus for enabling and rewarding wireless resource sharing
WO2003021978A1 (en) 2001-08-10 2003-03-13 Strix Systems, Inc. Virtual linking using a wireless device
US7545805B2 (en) * 2001-08-15 2009-06-09 Precache, Inc. Method and apparatus for content-based routing and filtering at routers using channels
US20030165139A1 (en) * 2001-08-15 2003-09-04 Tsu-Wei Chen Packet routing via payload inspection
EP1444810B1 (en) 2001-09-21 2006-12-06 Koninklijke Philips Electronics N.V. No specific control module? use less specific one
US6882706B2 (en) 2001-10-23 2005-04-19 Microsoft Corp. Method and system of providing emergency data
US7610390B2 (en) 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
US7487233B2 (en) 2001-12-05 2009-02-03 Canon Kabushiki Kaisha Device access based on centralized authentication
US20030135556A1 (en) 2001-12-14 2003-07-17 International Business Machines Corporation Selection of communication strategies for message brokers or publish/subscribe communications
US20030135441A1 (en) 2001-12-17 2003-07-17 Cfph, L.L.C. Systems and methods for durable goods futures market
US6543317B1 (en) 2001-12-18 2003-04-08 Beere Precision Medical Instruments, Inc. Screw holder and torquing tool
GB0130626D0 (en) 2001-12-20 2002-02-06 Ibm Message filtering
US7149219B2 (en) * 2001-12-28 2006-12-12 The Directtv Group, Inc. System and method for content filtering using static source routes
US20030149646A1 (en) 2002-02-01 2003-08-07 Ubs Painewebber Inc. Method and system for providing an aggregated stock options report
US7149806B2 (en) 2002-02-27 2006-12-12 Hewlett-Packard Development Company, L.P. Data access in a distributed environment
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
AU2003241394A1 (en) 2002-05-10 2003-11-11 Microsoft Corporation Cooperation of concurrent, distributed networks of resources
US7260601B1 (en) 2002-06-28 2007-08-21 Cisco Technology, Inc. Methods and apparatus for transmitting media programs
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
US20040006590A1 (en) 2002-06-28 2004-01-08 Microsoft Corporation Service for locating centralized schema-based services
US6986121B1 (en) 2002-06-28 2006-01-10 Microsoft Corporation Managing code when communicating using heirarchically-structured data
US8489742B2 (en) 2002-10-10 2013-07-16 Convergys Information Management Group, Inc. System and method for work management
US6911143B2 (en) 2002-10-31 2005-06-28 Stanadyne Corporation Base receptacle for filter cartridge incorporating a peripheral compatibility matrix
US7385957B2 (en) * 2002-11-14 2008-06-10 Qualcomm Incorporated Methods and apparatus for extending mobile IP
US7937578B2 (en) * 2002-11-14 2011-05-03 Qualcomm Incorporated Communications security methods for supporting end-to-end security associations
US7346630B2 (en) 2003-06-13 2008-03-18 Yahoo! Inc. Method and system for delivery alerts to a user
US7266557B2 (en) 2003-06-25 2007-09-04 International Business Machines Corporation File retrieval method and system
US7979448B2 (en) 2003-06-25 2011-07-12 International Business Machines Corporation Mail and calendar tool and method
US20050289447A1 (en) 2004-06-29 2005-12-29 The Boeing Company Systems and methods for generating and storing referential links in a database

Patent Citations (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218680A (en) * 1990-03-15 1993-06-08 International Business Machines Corporation Data link controller with autonomous in tandem pipeline circuit elements relative to network channels for transferring multitasking data in cyclically recurrent time slots
US5440744A (en) * 1990-08-14 1995-08-08 Digital Equipment Corporation Methods and apparatus for implementing server functions in a distributed heterogeneous environment
US5544285A (en) * 1991-11-08 1996-08-06 International Business Machines Corporation Graphical user interface control for replicating data fields in forms
US5485409A (en) * 1992-04-30 1996-01-16 International Business Machines Corporation Automated penetration analysis system and method
US5754175A (en) * 1992-12-01 1998-05-19 Microsoft Corporation Method and system for in-place interaction with contained objects
US5819092A (en) * 1994-11-08 1998-10-06 Vermeer Technologies, Inc. Online service development tool with fee setting capabilities
US5956715A (en) * 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
US6003079A (en) * 1997-02-27 1999-12-14 Hewlett Packard Company System and method for continuously measuring quality of service in a federated application environment
US5930801A (en) * 1997-03-07 1999-07-27 Xerox Corporation Shared-data environment in which each file has independent security properties
US6243830B1 (en) * 1997-05-08 2001-06-05 Yazaki Corporation State information managing method and communication system
US6106573A (en) * 1997-06-12 2000-08-22 Advanced Micro Devices, Inc. Apparatus and method for tracing microprocessor instructions
US6542923B2 (en) * 1997-08-21 2003-04-01 Planet Web, Inc. Active electronic mail
US6272506B1 (en) * 1997-09-12 2001-08-07 Doxis, Llc Computerized verification form processing system and method
US20020059342A1 (en) * 1997-10-23 2002-05-16 Anoop Gupta Annotating temporally-dimensioned multimedia content
US6457066B1 (en) * 1997-11-10 2002-09-24 Microsoft Corporation Simple object access protocol
US6308216B1 (en) * 1997-11-14 2001-10-23 International Business Machines Corporation Service request routing using quality-of-service data and network resource information
US6330610B1 (en) * 1997-12-04 2001-12-11 Eric E. Docter Multi-stage data filtering system employing multiple filtering criteria
US6571279B1 (en) * 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US6253204B1 (en) * 1997-12-17 2001-06-26 Sun Microsystems, Inc. Restoring broken links utilizing a spider process
US6314093B1 (en) * 1997-12-24 2001-11-06 Nortel Networks Limited Traffic route finder in communications network
US6151624A (en) * 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
US6192380B1 (en) * 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
US6122629A (en) * 1998-04-30 2000-09-19 Compaq Computer Corporation Filesystem data integrity in a single system image environment
US6161125A (en) * 1998-05-14 2000-12-12 Sun Microsystems, Inc. Generic schema for storing configuration information on a client computer
US6327574B1 (en) * 1998-07-07 2001-12-04 Encirq Corporation Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
US6694429B1 (en) * 1998-08-04 2004-02-17 At&T Corp. Method for establishing call state information without maintaining state information at gate controllers
US6148290A (en) * 1998-09-04 2000-11-14 International Business Machines Corporation Service contract for managing service systems
US20020013788A1 (en) * 1998-11-10 2002-01-31 Pennell Mark E. System and method for automatically learning information used for electronic form-filling
US6470450B1 (en) * 1998-12-23 2002-10-22 Entrust Technologies Limited Method and apparatus for controlling application access to limited access based data
US6581095B1 (en) * 1998-12-31 2003-06-17 Hyundai Electronics Industries Co., Ltd. Apparatus for matching a large amount of configuration data between exchanger and telecommunication management network repeater in code division multiple access system and control method thereof
US6857013B2 (en) * 1999-01-29 2005-02-15 Intermec Ip.Corp. Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
US6820204B1 (en) * 1999-03-31 2004-11-16 Nimesh Desai System and method for selective information exchange
US6711585B1 (en) * 1999-06-15 2004-03-23 Kanisa Inc. System and method for implementing a knowledge management system
US6510439B1 (en) * 1999-08-06 2003-01-21 Lucent Technologies Inc. Method and system for consistent update and retrieval of document in a WWW server
US6651217B1 (en) * 1999-09-01 2003-11-18 Microsoft Corporation System and method for populating forms with previously used data values
US7210147B1 (en) * 1999-10-05 2007-04-24 Veritas Operating Corporation IP virtualization
US6993502B1 (en) * 1999-11-11 2006-01-31 Cch Incorporated Transaction tax collection system and method
US6850975B1 (en) * 1999-11-29 2005-02-01 Intel Corporation Web site monitoring
US20010023421A1 (en) * 1999-12-16 2001-09-20 International Business Machines Corporation Access control system, access control method, storage medium and program transmission apparatus
US6868447B1 (en) * 2000-05-09 2005-03-15 Sun Microsystems, Inc. Mechanism and apparatus for returning results of services in a distributed computing environment
US20020019828A1 (en) * 2000-06-09 2002-02-14 Mortl William M. Computer-implemented method and apparatus for obtaining permission based data
US6684204B1 (en) * 2000-06-19 2004-01-27 International Business Machines Corporation Method for conducting a search on a network which includes documents having a plurality of tags
US20060003780A1 (en) * 2000-07-13 2006-01-05 Malik Mamdani Mixed-mode interaction
US6925307B1 (en) * 2000-07-13 2005-08-02 Gtech Global Services Corporation Mixed-mode interaction
US6574631B1 (en) * 2000-08-09 2003-06-03 Oracle International Corporation Methods and systems for runtime optimization and customization of database applications and application entities
US6754470B2 (en) * 2000-09-01 2004-06-22 Telephia, Inc. System and method for measuring wireless device and network usage and performance metrics
US6745011B1 (en) * 2000-09-01 2004-06-01 Telephia, Inc. System and method for measuring wireless device and network usage and performance metrics
US6594666B1 (en) * 2000-09-25 2003-07-15 Oracle International Corp. Location aware application development framework
US20020083048A1 (en) * 2000-09-26 2002-06-27 I2 Technologies, Inc. System and method for selective database indexing
US20030177135A1 (en) * 2000-10-13 2003-09-18 Axon Information Technology Pty Ltd. Multi-user database for computer-based information
US20020103661A1 (en) * 2000-10-30 2002-08-01 International Business Machines Corporation System and method for representation of business policy and governing the conduct of business activities using a business rules book
US6917937B1 (en) * 2000-11-01 2005-07-12 Sas Institute Inc. Server-side object filtering
US20020085579A1 (en) * 2000-12-29 2002-07-04 Gateway, Inc. Shared registry with multiple keys for storing preferences and other applications on a local area network
US6986145B2 (en) * 2001-03-13 2006-01-10 Dipayan Gangopadhyay In-context access to relevant services from multiple applications and information systems by object schema traversal
US20030131069A1 (en) * 2001-03-14 2003-07-10 Lucovsky Mark H. Schema-based context service
US20060150140A1 (en) * 2001-03-14 2006-07-06 Microsoft Corporation Executing dynamically assigned functions while providing services
US7284271B2 (en) * 2001-03-14 2007-10-16 Microsoft Corporation Authorizing a requesting entity to operate upon data structures
US20070083561A1 (en) * 2001-03-14 2007-04-12 Microsoft Corporation Distributing notifications to multiple recipients via a broadcast list
US7136859B2 (en) * 2001-03-14 2006-11-14 Microsoft Corporation Accessing heterogeneous data in a standardized manner
US20060161554A1 (en) * 2001-03-14 2006-07-20 Microsoft Corporation Schema-Based Services For Identity-Based Data Access
US7062539B2 (en) * 2001-03-14 2006-06-13 Microsoft Corporation Using state information in a distributed environment
US20030131073A1 (en) * 2001-03-14 2003-07-10 Lucovsky Mark H. Schema-based services for identity-based data access
US20060036642A1 (en) * 2001-03-14 2006-02-16 Microsoft Corporation Schemas for a notification platform and related information services
US20030131142A1 (en) * 2001-03-14 2003-07-10 Horvitz Eric J. Schema-based information preference settings
US20020133535A1 (en) * 2001-03-14 2002-09-19 Microsoft Corporation Identity-centric data access
US20030115228A1 (en) * 2001-03-14 2003-06-19 Horvitz Eric J. Schema-based service for identity-based access to location data
US20030101190A1 (en) * 2001-03-14 2003-05-29 Microsoft Corporation Schema-based notification service
US20040199869A1 (en) * 2001-03-14 2004-10-07 Microsoft Corporation Schema-based service for identity-based data access to financial data
US20040199861A1 (en) * 2001-03-14 2004-10-07 Lucovsky Mark H. Schema-based services for identity-based data access to document data
US6985958B2 (en) * 2001-03-14 2006-01-10 Microsoft Corporation Messaging infrastructure for identity-centric data access
US20030041065A1 (en) * 2001-03-14 2003-02-27 Mark Lucovsky Schema-based services for identity-based access to contacts data
US20030041076A1 (en) * 2001-03-14 2003-02-27 Lucovsky Mark H. Schema-based services for identity-based access to calendar data
US20030069887A1 (en) * 2001-03-14 2003-04-10 Lucovsky Mark H. Schema-based services for identity-based access to inbox data
US6823369B2 (en) * 2001-03-14 2004-11-23 Microsoft Corporation Using state information in requests that are transmitted in a distributed network environment
US20030061365A1 (en) * 2001-03-14 2003-03-27 Microsoft Corporation Service-to-service communication for network services
US20030050911A1 (en) * 2001-03-14 2003-03-13 Mark Lucovsky Schema-based services for identity-based access to profile data
US20020133627A1 (en) * 2001-03-19 2002-09-19 International Business Machines Corporation Intelligent document filtering
US7072843B2 (en) * 2001-03-23 2006-07-04 Restaurant Services, Inc. System, method and computer program product for error checking in a supply chain management framework
US20030004874A1 (en) * 2001-04-03 2003-01-02 Bottomline Technologies (De) Inc. Electronic bill presentment system with client specific formatting of data
US20020157007A1 (en) * 2001-04-18 2002-10-24 Nec Corporation User authentication system and user authentication method used therefor
US6708137B2 (en) * 2001-07-16 2004-03-16 Cable & Wireless Internet Services, Inc. System and method for providing composite variance analysis for network operation
US20030023263A1 (en) * 2001-07-24 2003-01-30 Incept Llc Apparatus and methods for aspirating emboli
US6892201B2 (en) * 2001-09-05 2005-05-10 International Business Machines Corporation Apparatus and method for providing access rights information in a portion of a file
US20040205526A1 (en) * 2001-09-28 2004-10-14 Vadim Borodovski Prompted form filling mechanism
US20030135411A1 (en) * 2002-01-11 2003-07-17 Kazumasa Ushiki Content adaptation service control system
US20030133553A1 (en) * 2002-01-15 2003-07-17 Khakoo Shabbir A. Method and apparatus for delivering enhanced caller identification services to a called party
US20040205656A1 (en) * 2002-01-30 2004-10-14 Benefitnation Document rules data structure and method of document publication therefrom
US20030149696A1 (en) * 2002-02-07 2003-08-07 Steve Nelson Internet based system for creating presentations
US7250846B2 (en) * 2002-03-05 2007-07-31 International Business Machines Corporation Method and apparatus for providing dynamic user alert
US6816886B2 (en) * 2002-03-14 2004-11-09 Microsoft Corporation Measuring performance metrics of networked computing entities
US20040006564A1 (en) * 2002-06-28 2004-01-08 Lucovsky Mark H. Schema-based service for identity-based data access to category data
US7246122B2 (en) * 2002-06-28 2007-07-17 Microsoft Corporation Schema-based services for identity-based data access to favorite website data
US7284197B2 (en) * 2002-06-28 2007-10-16 Microsoft Corporation Schema-based services for identity-based data access to application settings data
US20040010451A1 (en) * 2002-07-12 2004-01-15 Romano Aaron A. Method and system for finalizing specific processes through a dynamic system
US7206788B2 (en) * 2002-07-30 2007-04-17 Microsoft Corporation Schema-based services for identity-based access to device data
US20040024866A1 (en) * 2002-07-31 2004-02-05 Murali Sundar Service creator apparatus, systems, and methods
US7216287B2 (en) * 2002-08-02 2007-05-08 International Business Machines Corporation Personal voice portal service
US20040060002A1 (en) * 2002-09-12 2004-03-25 Microsoft Corporation Schema-based service for identity-based access to lists
US20050100150A1 (en) * 2002-09-30 2005-05-12 Avaya Technology Corp. Method and apparatus for delivering documents with identification information to a called party

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140032631A1 (en) * 2001-03-14 2014-01-30 Microsoft Corporation Executing dynamically assigned functions while providing services
US20030131069A1 (en) * 2001-03-14 2003-07-10 Lucovsky Mark H. Schema-based context service
US20060161554A1 (en) * 2001-03-14 2006-07-20 Microsoft Corporation Schema-Based Services For Identity-Based Data Access
US20020133535A1 (en) * 2001-03-14 2002-09-19 Microsoft Corporation Identity-centric data access
US9460421B2 (en) 2001-03-14 2016-10-04 Microsoft Technology Licensing, Llc Distributing notifications to multiple recipients via a broadcast list
US9413817B2 (en) * 2001-03-14 2016-08-09 Microsoft Technology Licensing, Llc Executing dynamically assigned functions while providing services
US7664724B2 (en) 2001-03-14 2010-02-16 Microsoft Corporation Schema-based services for identity-based data access
US8572576B2 (en) 2001-03-14 2013-10-29 Microsoft Corporation Executing dynamically assigned functions while providing services
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
US20080004584A1 (en) * 2006-06-07 2008-01-03 Langdon Frederick M Absorbent article having an anchored core assembly
US20080004586A1 (en) * 2006-06-07 2008-01-03 Lodge Richard W Absorbent article having an anchored core assembly
US20080004593A1 (en) * 2006-06-07 2008-01-03 Lodge Richard W Absorbent article having an anchored core assembly
US20080230682A1 (en) * 2007-03-20 2008-09-25 Semiconductor Energy Laboratory Co., Ltd. Method for manufacturing a semiconductor device
US8858523B2 (en) 2007-09-07 2014-10-14 The Procter & Gamble Company Disposable wearable absorbent articles with anchoring subsystems
US9056031B2 (en) 2007-09-07 2015-06-16 The Procter & Gamble Company Disposable wearable absorbent articles with anchoring subsystems
US9060900B2 (en) 2007-09-07 2015-06-23 The Proctor & Gamble Company Disposable wearable absorbent articles with anchoring subsystems

Also Published As

Publication number Publication date
US8572576B2 (en) 2013-10-29
US20170017529A1 (en) 2017-01-19
US9413817B2 (en) 2016-08-09
US20060150140A1 (en) 2006-07-06
US20140032631A1 (en) 2014-01-30
US20020184344A1 (en) 2002-12-05
US7024662B2 (en) 2006-04-04

Similar Documents

Publication Publication Date Title
US9413817B2 (en) Executing dynamically assigned functions while providing services
US10489730B2 (en) Managing virtual business instances within a computer network
US8239954B2 (en) Access control based on program properties
US7457815B2 (en) Method and apparatus for automatically providing network services
US7730138B2 (en) Policy processing model
US6993714B2 (en) Grouping and nesting hierarchical namespaces
US7454486B2 (en) Profiling and tracing distributed applications
US20080208806A1 (en) Techniques for a web services data access layer
Coward et al. Java servlet specification version 2.3
US7363550B2 (en) Remote error detection by preserving errors generated throughout a software stack within a message
US8671284B1 (en) Security model for actor-based languages and apparatus, methods, and computer programming products using same
US20020103811A1 (en) Method and apparatus for locating and exchanging clinical information
US20030126464A1 (en) Method and system for determining and enforcing security policy in a communication session
US20040199818A1 (en) Automated testing of web services
JP2009134756A (en) System and method for actively managing enterprise of configurable components
Bellwood et al. UDDI version 2.04 API specification
US20040059704A1 (en) Self-managing computing system
Belyaev et al. On the design and analysis of protocols for personal health record storage on personal data server devices
US7574601B2 (en) Securely inspecting electronic messages
US7426551B1 (en) System, method and computer program product for dynamic system adaptation using contracts
US7430596B2 (en) Integrating electronic messaging diagnostics into a messaging pipeline
Benedictis et al. SLAs for cloud applications: agreement protocol and REST-based implementation
Paananen Analyzing Java EE application security with SonarQube
Dini Self-adaptable trust mechanism for Web services
Cubo et al. Middlesex University Research Repository

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/0001

Effective date: 20141014