WO2009067713A1 - Application and method for generating automated offers of service and service management system incorporating the same - Google Patents

Application and method for generating automated offers of service and service management system incorporating the same Download PDF

Info

Publication number
WO2009067713A1
WO2009067713A1 PCT/US2008/084436 US2008084436W WO2009067713A1 WO 2009067713 A1 WO2009067713 A1 WO 2009067713A1 US 2008084436 W US2008084436 W US 2008084436W WO 2009067713 A1 WO2009067713 A1 WO 2009067713A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
subscriber
recited
management system
end point
Prior art date
Application number
PCT/US2008/084436
Other languages
French (fr)
Inventor
Edward S. Pelley
Thomas A. Palkot
Original Assignee
Motive, Incorporated
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40394073&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2009067713(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Motive, Incorporated filed Critical Motive, Incorporated
Priority to CN200880122618.8A priority Critical patent/CN102067520B/en
Priority to EP08853077A priority patent/EP2220816A1/en
Publication of WO2009067713A1 publication Critical patent/WO2009067713A1/en

Links

Classifications

    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a 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/306User profiles

Definitions

  • This application relates to remote management of fixed-line and mobile devices, and, more particularly, to activation, provisioning, support, management and assurance of consumer and business services spanning one or more fixed- line devices and one or more mobile devices .
  • Network service providers are called upon to support a large variety of networked devices, including devices coupled to home networks (e.g., residential gateways, set-top boxes and voice-over-IP, or VoIP, adapters) and cellular networks (e.g. smart phones and pocket computers) .
  • home networks e.g., residential gateways, set-top boxes and voice-over-IP, or VoIP, adapters
  • cellular networks e.g. smart phones and pocket computers
  • FMC Fiber-Mobile Convergence
  • network providers that are coupled to home networks find those networks coupled to a variety of customer premises equipment (CPE) within the homes that are gradually becoming more and more sophisticated. Customer issues with such devices are no less taxing upon support staff and support infrastructure.
  • CPE customer premises equipment
  • OMA Open Mobile Alliance
  • OMA-DM protocol for device management
  • OMA-CP client provisioning
  • OMA-DS firmware updates
  • OMA-DS firmware updates
  • OMA-DS firmware updates
  • a support solution that utilizes these protocols and provides a usable console for customer support is the only way network providers and mobile carriers can handle support for the increasing number of devices in the market.
  • a user interface driven mechanism is provided to allow customer support representatives to manipulate remote devices m, for example, the following manners: access information about the remote devices and the users thereof, including history of issues with a particular device, device provisioning, access to diagnostics of a device, ability to upgrade firmware/software of a device, synchronization of data, enablement of security features, remote control of devices, service and application provisioning, defining and following policies related to service management for a variety of devices and resetting devices.
  • Such functionality can be provided, for example, through the use of a device management server that uses a variety of appropriate protocols to communicate with the remote devices.
  • the service management system includes: (1) a service description repository configured to contain service descriptions that define services in terms of a set of end points that assume roles based on at least one of capabilities and attributes thereof, the end points being selected from the group consisting of devices and systems and (2) an application associable with the service description repository and configured to compare capabilities of at least one of the end points with required capabilities expressed in at least one role of at least one of the service descriptions and present a service offering to a subscriber based thereon.
  • a service management method configured to contain service descriptions that define services in terms of a set of end points that assume roles based on at least one of capabilities and attributes thereof, the end points being selected from the group consisting of devices and systems.
  • an application associable with the service description repository and configured to compare capabilities of at least one of the end points with required capabilities expressed in at least one role of at least one of the service descriptions and present a service offering to a subscriber based thereon.
  • the method includes: (1) comparing a capability of an end point associated with a subscriber with at least one required capability associated with at least one role expressed in a service description and (2) presenting a service offering associated with the service description to the subscriber based thereon.
  • FIG. 2 is a block diagram illustrating a computer system suitable for implementing embodiments of the invention
  • FIG. 3 is a block diagram illustrating the interconnection of the computer system of FIG. 2 to client and host systems;
  • FIG. 4 is a diagram illustrating relationships that may exist among a subscriber, a service and various devices and systems;
  • FIG. 5 is a diagram of one embodiment of a service description
  • FIG. 6 is a diagram illustrating relationships that may exist among management operations, roles, capabilities and attributes;
  • FIG. 7 is a high-level block diagram of one embodiment of a service management system
  • FIG. 8 is a block diagram of one embodiment of a service normalization block of FIG. 7;
  • FIG. 9 is a diagram of one embodiment of an automated method of making an offer of service based on the introduction of a new device carried out according to the principles of the invention.
  • FIG. 10 is a diagram of one embodiment of an automated method of making an offer of service based on the introduction of a new service offering carried out according to the principles of the invention
  • PIG. 11 is a block diagram of one embodiment of a method of calculating an offer of service carried out according to the principles of the invention.
  • FIG. 12 is a block diagram of one embodiment of a method of presenting an offer of service carried out according to the principles of the invention.
  • a method, apparatus and process are disclosed that allow for activation, provisioning, support (by call center, functions or self) , management (by call center, functions or self) and assurance of consumer and business services spanning one or more fixed-line devices and one or more mobile devices, such as PCs, AAA servers, email servers, web servers and devices of every kind.
  • mobile devices such as PCs, AAA servers, email servers, web servers and devices of every kind.
  • FIG. 1 is a block diagram illustrating a network environment m which a system according to the invention may be practiced.
  • network 100 such as a private wide area network (WAN) or the Internet, includes a number of networked servers 110 (1) - (N) that are accessible by client computers 120 (1) - (N) .
  • WAN wide area network
  • N networked servers 110 (1) - (N) that are accessible by client computers 120 (1) - (N) .
  • Communication between the client computers 120(I)-(N) and the servers HO(I)-(N) typically occurs over a publicly accessible network, such as a public switched telephone network (PSTN) , a DSL connection, a cable modem connection or large bandwidth trunks (e.g., communications channels providing Tl or 0C3 service) .
  • PSTN public switched telephone network
  • DSL connection a DSL connection
  • cable modem connection a cable modem connection
  • large bandwidth trunks e.g., communications channels providing Tl or 0C3 service
  • the client computers 120 (1) - (N) access the servers HO(I)-(N) through, for example, a service provider.
  • a service provider This might be, for example, an Internet Service Provider (ISP) such as America On-LineTM, ProdigyTM, CompuServeTM or the like.
  • ISP Internet Service Provider
  • One or more of the client computers 120(I)-(N) and/or one or more of the servers HO(I)-(N) may be, for example, a computer system of any appropriate design, in. general, including a mainframe, a mini-computer or a personal computer system.
  • Such a computer system typically includes a system unit having a system processor and associated volatile and non-volatile memory, one or more display monitors and keyboards, one or more diskette drives, one or more fixed disk storage devices and one or more printers .
  • Such computer systems are typically information handling systems which are designed to provide computing power to one or more users, either locally or remotely.
  • a computer system may also include one or a plurality of I/O devices (i.e., peripheral devices) which are coupled to the system processor and which perform specialized functions. Examples of I/O devices include modems, sound and video devices and specialized communication devices. Mass storage devices such as hard disks, CD-ROM drives and magneto-optical drives may also be provided, either as an integrated or peripheral device.
  • I/O devices i.e., peripheral devices
  • Mass storage devices such as hard disks, CD-ROM drives and magneto-optical drives may also be provided, either as an integrated or peripheral device.
  • FIG. 2 One such example computer system, discussed m terms of the client computers 120(I)-(N), is shown in detail in FIG. 2.
  • variable identifier "N" is used m several instances m FIG. 1 to more simply designate the final element (e.g., the servers HO(I)-(N) and the client computers 120(I)-(N)) of a series of related or similar elements (e.g., servers and client computers) .
  • the repeated use of such variable identifiers is not meant to imply a correlation between the sizes of such series of elements, although such correlation may exist.
  • the use of such variable identifiers does not require that each series of elements has the same number of elements as another series delimited by the same variable identifier. Rather, m each instance of use, the variable identified by "N" may hold the same or a different value than other instances of the same variable identifier.
  • FIG. 2 depicts a block diagram of a computer system 210 suitable for implementing the invention and example of one or more of the client computers 120(1)-
  • a computer system 210 includes a bus 212 which interconnects major subsystems of the computer system 210 such as a central processor 214, a system memory 216 (typically random-access memory, or RAM, but which may also include read-only memory, or ROM, flash RAM, or the like), an input/output controller 218, an external audio device such as a speaker system 220 via an audio output interface 222, an external device such as a display screen 224 via a display adapter 226, serial ports 228, 230, a keyboard 232 (interfaced with a keyboard controller 233), a storage interface 234, a floppy disk drive 236 operative to receive a floppy disk 238 and a CD-ROM drive 240 operative to receive a CD-ROM 242.
  • a bus 212 which interconnects major subsystems of the computer system 210 such as a central processor 214, a system memory 216 (typically random-access memory, or RAM, but which may also include read-only memory, or ROM, flash RAM,
  • the bus 212 allows data communication between a central processor 214 and a system memory 216, which may include RAM, ROM or flash memory, as previously noted.
  • the RAM is generally the main memory into which the operating system and application programs are loaded and typically affords at least 16 megabytes of memory space.
  • the ROM or flash memory may contain, among other code, the Basic Input-Output system (BIOS) which controls basic hardware operation such as the interaction with peripheral components.
  • BIOS Basic Input-Output system
  • Applications resident with the computer system 210 are generally stored on and accessed via a computer readable medium, such as a hard disk drive (e.g., fixed disk 244), an optical drive (e.g., CD-ROM drive 240) , a floppy disk unit 236 or other storage medium Additionally, applications may be m the form of electronic signals modulated m accordance with the application and data communication technology when accessed via a network modem 247 or an interface 248.
  • a computer readable medium such as a hard disk drive (e.g., fixed disk 244), an optical drive (e.g., CD-ROM drive 240) , a floppy disk unit 236 or other storage medium
  • applications may be m the form of electronic signals modulated m accordance with the application and data communication technology when accessed via a network modem 247 or an interface 248.
  • the storage interface 23 may connect to a standard computer readable medium for storage and/or retrieval of information, such as a fixed disk drive 244.
  • the fixed disk drive 244 may be a part of computer system 210 or may be separate and accessed through other interface systems .
  • Many other devices can be connected, such as a mouse 246 connected to the bus 212 via serial port 228, a modem 247 connected to the bus 212 via serial port 230 and a network interface 248 connected directly to the bus 212.
  • the modem 247 may provide a direct connection to a remote server via a telephone link or to the Internet via an internet service provider (ISP) .
  • ISP internet service provider
  • the network interface 248 may provide a direct connection to a remote server via a direct network link to the Internet via a POP (point of presence) .
  • the network interface 248 may provide such connection using wireless techniques, including digital cellular telephone connection, Cellular Digital Packet Data (CDPD) connection, digital satellite data connection or the like.
  • CDPD Cellular Digital Packet Data
  • the computer system 210 may be any kind of computing device and so includes personal data assistants (PDAs), network appliance, X- wmdow terminal or other such computing device.
  • PDAs personal data assistants
  • the operating system provided on the computer system 210 may be MS-DOS ® , MS-Windows ® , OS/2 ® , UNIX ® , Linux ® or other known operating system.
  • the computer system 210 may also support a number of Internet access tools, including, for example, a Hypertext Transfer Protocol (HTTP) -compliant web browser having a JavaScript interpreter, such as Netscape Navigator ® 3.0, Microsoft Explorer ® 3.0 and the like.
  • HTTP Hypertext Transfer Protocol
  • FIG. 3 is a block diagram depicting a network 300 m which the computer system 210 is coupled to an internetwork 310, which is coupled, in turn, to client systems 320, 330, as well as a server 340.
  • An internetwork 310 e.g., the Internet or a wide-area network, or WAN
  • the modem 247, the network interface 248 or some other method can be used to provide connectivity from the computer system 210 to the internetwork 310.
  • the computer system 210, the client system 320 and the client system 330 are able to access information on the server 340 using, for example, a web browser (not shown) .
  • a web browser allows the computer system 210, as well as the client systems 320, 330, to access data on the server 340 representing the pages of a website hosted on the server 340.
  • Protocols for exchanging data via the Internet are well known to those skilled m the art. Although PIG. 3 depicts the use of the Internet for exchanging data, the invention is not limited to the Internet or any particular network- based environment .
  • a browser running on the computer system 210 employs a TCP/IP connection to pass a request to the server 340, which can run an HTTP "service” (e.g., under the WINDOWS ® operating system) or a "daemon” (e.g., under the UNIX ® operating system) , for example.
  • HTTP HyperText Transfer Protocol
  • daemon e.g., under the UNIX ® operating system
  • Such a request can be processed, for example, by contacting an HTTP server employing a protocol that can be used to communicate between the HTTP server and the client computer.
  • the HTTP server responds to the protocol, typically by sending a "web page" formatted as an HTML file.
  • the browser interprets the HTML file and may form a visual representation of the same using local resources (e.g., fonts and colors) .
  • the functions referred to herein may be modules or portions of modules (e.g., software, firmware or hardware modules) .
  • modules e.g., software, firmware or hardware modules
  • the described embodiment includes software modules and/or includes manually entered user commands, the various example modules may be application specific hardware modules.
  • the software modules discussed herein may include script, batch or other executable files, or combinations and/or portions of such files.
  • the software modules may include a computer program or subroutines thereof encoded on computer-readable media.
  • modules are merely illustrative and alternative embodiments may merge modules or impose an alternative decomposition of functionality of modules.
  • the modules discussed herein may be decomposed into sub-modules to be executed as multiple computer processes and, optionally, on multiple computers.
  • alternative embodiments may combine multiple instances of a particular module or sub-module.
  • the functions described in example embodiment are for illustration only. Operations may be combined or the functionality of the functions may be distributed in additional functions in accordance with the invention.
  • Such actions may be embodied in the structure of circuitry that implements such functionality, such as the micro-code of a complex instruction set computer (CISC) , firmware programmed into programmable or erasable/programmable devices, the configuration of a field-programmable gate array (FPGA) , the design of a gate array or full -custom application- specific integrated circuit (ASIC), or the like.
  • CISC complex instruction set computer
  • FPGA field-programmable gate array
  • ASIC application-specific integrated circuit
  • Each of the blocks of the flow diagram may be executed by a module (e.g., a software module) or a portion of a module or a computer system user using, for example, a computer system such as the computer system 210.
  • the above described method, the functions thereof and modules therefore may be executed on a computer system configured to execute the functions of the method and/or may be executed from computer-readable media.
  • the method may be embodied in a machine-readable and/or computer-readable medium for configuring a computer system to execute the method.
  • the software modules may be stored within and/or transmitted to a computer system memory to configure the computer system to perform the functions of the module.
  • Such a computer system normally processes information according to a program (a list of internally stored instructions such as a particular application program and/or an operating system) and produces resultant output information via I/O devices.
  • a computer process typically includes an executing (running) program or portion of a program, current program values and state information and the resources used by the operating system to manage the execution of the process.
  • a parent process may spawn other, child processes to help perform the overall functionality of the parent process. Because the parent process specifically spawns the child processes to perform a portion of the overall functionality of the parent process, the functions performed by child processes (and grandchild processes, etc.) may sometimes be described as being performed by the parent process .
  • Such a computer system typically includes multiple computer processes executing "concurrently.”
  • a computer system includes a single processing unit which is capable of supporting many active processes alternately. Although multiple processes may appear to be executing concurrently, at any given point in time only one process is actually executed by the single processing unit. By rapidly changing the process executing, a computer system gives the appearance of concurrent process execution.
  • the ability of a computer system to multiplex the computer system's resources among multiple processes in various stages of execution is called multitasking.
  • Systems with multiple processing units, which by definition can support true concurrent processing are called multiprocessing systems. Active processes are often referred to as executing concurrently when such processes are executed in a multitasking and/or a multiprocessing environment.
  • the software modules described herein may be received by such a computer system, for example, from computer readable media.
  • the computer readable media may be permanently, removably or remotely coupled to the computer system.
  • the computer readable media may non- exclusively include, for example, any number of the following: magnetic storage media including disk and tape storage media.
  • optical storage media such as compact disk media (e.g., CD-ROM, CD-R, etc.) and digital video disk storage media
  • nonvolatile memory storage memory including semiconductor-based memory units such as flash memory, EEPROM, EPROM, ROM or application-specific integrated circuits (ASICs), volatile storage media including registers, buffers or caches, main memory, RAM and the like, and data transmission media including computer network, point-to-point telecommunication and carrier wave transmission media.
  • the software modules may be embodied in a file which may be a device, a terminal, a local or remote file, a socket, a network connection, a signal, or other expedient of communication or state change.
  • Other new and various types of computer-readable media may be used to store and/or transmit the software modules discussed herein.
  • Service activation refers to all the use cases that involve creating (provisioning) and deleting (unprovisioning) a new service instance, or "subscription.”
  • Service management refers to day-to-day management tasks involving a given service or subscription.
  • Service interruption and resumption may be thought of as special types of service management that involve the loss and restoration of service.
  • Service offering refers to new services that may be offered to a subscriber .
  • FIG. 4 is a diagram illustrating relationships that may exist among a subscriber 410, a service 420 and various devices and systems 430.
  • a service provider such as a cellular phone company, an Internet service provider, a cable television company or a combination of these, offers one or more services to subscribers that involve devices and systems such as cell phones, set- top boxes, routers, cell towers, email servers, DSLAMs, landline phones and other mobile and customer premises equipment and network infrastructure.
  • the subscriber 410 takes out a subscription 440 to a service 420 offered by a service provider.
  • the subscription contains state and other information that is both relative to the subscriber 410 and the service 420.
  • the subscription calls for one or more associations 450 to be made between the subscriber 410 and various devices and systems 430.
  • the subscriber 410 may own or lease one or more devices 430.
  • the subscriber 410 may also be associated with one or more systems 430.
  • the devices and systems 430 assume roles 460 in delivering the service 420 to the subscriber 410.
  • the roles describe to the service management system how the device should be managed.
  • FIG. 4 may be employed to illustrate t ⁇ o example use cases: activating a device for a subscriber and managing and provisioning a subscription.
  • a device one of the devices and systems 430
  • the following steps may be taken. First, for a given device 410, the subscriber 410 associated with that device 430 is found. This is done by employing the associations 450. Once the associated subscriber 410 has been identified, a corresponding subscription 440 may then be used to determine the service or services 420 that should be provisioned on the device 430. For each service 420 that needs to be activated on the device 430, two alternative actions may be taken. Based upon the role the device 430 plays with respect to the service 420, settings on the device 430 may be set to provision the device.
  • Managing and provisioning a subscription involves either adding a new service to a subscriber or managing an existing service.
  • a service 420 is added to a subscriber 410, or an existing service 420 is modified.
  • Devices and systems 430 associated with the subscriber are collected.
  • each device associated with the service 420 is mapped into the different roles 460 m the targeted service. This reveals what actions should be taken with respect to each device or system to provision the service 420.
  • FIG. 5 is a diagram of one embodiment of a service description 500.
  • FIG. 5 shows that the service description 500 includes service alerts 505, functions 510 and key/value pairs 515.
  • Roles are associated with the service alerts 505, the functions 510 and the key/value pairs 515.
  • the roles, designated Role A 520, Role B 525 and Role C 530 are associated as shown with the service alerts 505, the functions 510 and the key/value pairs 515 as various arrows show.
  • Meta data 535 is also associated with the key/value pairs 515.
  • Devices or systems 540, 545 are associated with the roles 520, 525, 535 as various arrows show.
  • FIG. 5 illustrates, m the context of the service description 500, how a set of roles (e.g., the roles 520, 525, 535) can be mapped onto a set of devices and systems (e.g., the devices or systems 540, 545) .
  • the meta data 535 contains both service-wide and subscriber/subscription data that is specific to the service description. Items like level of service and current state of activation would be a part of the meta data.
  • the alerts, functions, and key/value pairs 505. 510, 515 together constitute services supported by the devices and systems 540, 545 exposed through the roles 520, 525, 530.
  • the service description 500 is configured to contain arbitrary, named relationships that can be used to affect a service.
  • the service description 500 may also be configured to contain one or more references to other service with which it has relationships or upon which it has dependencies. Accordingly, a further service description 550 is associated with the meta data 535 as an arrow shows. Similar to the relationships between roles, relationships between services are exposed to the logic in the service description and to external logic associated with the service description.
  • FIG. 6 is a diagram illustrating relationships that may exist among management functions (i.e., values, alerts and functions 505, 510, 515), roles (e.g., 460), capabilities and attributes 610 and devices and systems (e.g., 430) .
  • management functions i.e., values, alerts and functions 505, 510, 515
  • roles e.g., 460
  • capabilities and attributes 610 e.g., 430
  • the mechanism for doing this is twofold. First, a role may be matched to a device or a system based on the known attributes of the device or system. Second, a role may be matched to a device or a system based upon the known capabilities of the device or system.
  • Device attributes are known aspects of the device, e.g., the type, serial number, MAC address, manufacture date, make, model, service tags, device ID or operating system of the device or system. Other attributes may include the firmware version, hardware version, embedded device, locale (language) , and physical location. Device attributes, m the simplest form, could be a list of known key/value pairs associated to the device.
  • Capabilities are similar to device attributes.
  • these are a list of values (without the key) of known capabilities about the device, e.g., generic email client, Microsoft Outlook ® email client, phone, router or IPTV device.
  • Other examples include network attached storage, media server, media renderer, camera, MMS client, SMS client, wireless access provider, wireless access client, printer, GPS, vibrate, Bluetooth, USB, Wi- Fi, clock, browser, QVGA, flight mode, caller ID, touch screen, or fax.
  • Both the capabilities and the attributes can be provided to or retrieved from an external system, deduced or derived from known attributes and capabilities, queried directly from the device or system or a combination of these.
  • an external system deduced or derived from known attributes and capabilities, queried directly from the device or system or a combination of these.
  • prior knowledge may exist that any device that has a serial number from a given manufacture starting with the letter W- has built- in Wi-Fi capabilities, or that Windows ® Mobile phone supports OMA-DM.
  • a given device or system matches a role by matching its attributes and capabilities (derived, discovered, or known) against the required attributes and capabilities of a given role.
  • Each role defines a set of key/value pairs, alerts, and functions that are relevant for devices of that role in the service description.
  • roles do not imply device type, model or brand. Direct mappings between devices and roles may occur in practice, but the mappings are flexible such that they may change as device attributes or capabilities change. For example, newer devices may support more roles than do older devices
  • One example of a role is a phone capable of functioning as an email client may play an "EmailClient" role m a service description associated with an email service.
  • FIG. 7 is a high-level block diagram of one embodiment of a service management system.
  • the service management system includes a service normalization block 705 that will be described m greater detail in conjunction with FIG. 8 below.
  • the service normalization block interacts with an optimal settings block 710, a device (and/or system) normalization block 715, a diagnostic engine block 720 and a content repository block 725.
  • a segmentation block 730 and a knowledge base 735 interact with the optimal settings block 710, the device normalization block 715, the diagnostic engine block 720 and the content repository block 725 as shown.
  • the service normalization block 705 employs an application programming interface (API), allowing it to exchange information with an interactive voice response (IVR) system 745, a console 750 for a customer service representative (CSR) , a Self-Service Management (SSM) application module 755 and other applications 760, 765 as may be found advantageous in a particular environment.
  • API application programming interface
  • the optimal settings block 710 is a repository of predefined known good values used for the purposes of comparing key/value pairs to determine diagnostic and state information. The key/value pairs are also used during provisioning to set up a system or a device.
  • the optimal settings block 710 may be regarded as a configuration repository that contains raeta data about the configuration so that applications and other systems can look up known good values for the purpose of configuring (provisioning), diagnostic, and repair.
  • the illustrated embodiment of the optimal settings block 710 is configured to define optimal values for any given key/value pair based on the context of the device, subscriber, customer, or any other segmentation scheme that could be use to define different values for the same attribute (key) .
  • Optimal values may fall into three categories: (1) values predefined in the context of the service as being correct, (2) values defined based by a call to an extrinsic system or by subscriber input as being correct and (3) absolute values (which is often built into the logic of the script or service description logic and not stored externally) .
  • An example of a predefined optimal value is a POP server. The subscriber is aware of its identity, and it is the same for all subscribers.
  • An example of a value defined by a subscriber as being correct is a password, something that the subscriber chooses and is not defined before the subscriber chooses it .
  • the device normalization block 715 is configured to map normalized key/value pairs to device- specific or system-specific key value pairs. Mapping may be performed by transformation, executing a script, or undertaking any other appropriate normalization mechanism.
  • the diagnostic engine 720 is configured to contain diagnostic rules and cause diagnostic rules to be executed in order to identify, characterize and present potential solutions to problems that may exist with devices or systems.
  • the content repository is configured to provide a channel -independent mechanism for associating bearer (e.g., IVR voice flows, service through a customer service representative portal web content and customer service articles) to diagnose a problem.
  • bearer e.g., IVR voice flows, service through a customer service representative portal web content and customer service articles
  • the segmentation block 730 and knowledge base 735 likewise employ a data sources abstraction layer 770, allowing it to communicate with systems 775, 790 and provisioning servers and device managers 780, 785.
  • the segmentation block 730 is configured to enable other portions of the service management system to tailor responses to a subscriber based on his level of service, location and/or circumstance .
  • the knowledge base 735 is configured to contain articles associated with known device, system and/or service problems. When the diagnostic engine 720 identifies a problem area or a specified problem, it may provide articles from the knowledge based 735 to an application to allow the application to provide the article in turn to a CSR for informational purposes.
  • the data sources abstraction layer 770 is configured to operate as a protocol implementation and adaptation layer, allowing generic logic to interact with specific devices and systems without having to employ a device-specific or system-specific protocol.
  • the systems 775, 790 are typically added by a particular service provider and interact with the service management system as needed.
  • the provisioning servers and device managers 780, 785 support various devices 795 intended for use by subscribers.
  • the provisioning servers and device managers 780, 785 are management systems that manage large groups of devices that typically share the same protocol ⁇ e.g., a mobile device manager that manages 10 million phones using the OMA-DM protocol) .
  • the devices 795 are just CPE, such as phones and routers.
  • FIG. 8 is a block diagram of one embodiment of the service normalization block 705.
  • the API 740 provides a mechanism by which the service normalization block 705 may be called from within and without the service management system.
  • subscribers may have services added (provisioned) , removed (unprovisioned) , modified or otherwise managed.
  • Devices of subscribers may also be managed in the context of a particular service. Management access to key/value pairs of constituent devices and systems may also be dynamically determined and managed based on their roles in providing particular services.
  • a service management engine 805 enables a service provider to implement and manage services by means of the service normalization block 705 according to the various use cases described above.
  • the illustrated embodiment of the service management engine 805 functions in two primary ways.
  • the service management engine 805 manages functions defined by service descriptions.
  • the service management engine 805 provides a dynamic view of a given service.
  • the management of functions allows service descriptions to define named functions that can be called with contextual data derived from analyzing constituent devices and systems in their associated roles of a service .
  • the provision of a dynamic view of a given service enables a service description to associate key/value pairs (data) with different roles and dynamically to gather data from the devices and systems so that data can be presented without the need for intrinsic knowledge of the data that is being collected.
  • a service-view dashboard capable of creating a map of devices with their associated data of interest (each categorized by their role in the service) may employ dynamic views of services.
  • the data itself is self-describing and typically presented in tabular form.
  • the service management engine 805 is also capable of providing a view of a given service, in which case the application does have prior intrinsic knowledge regarding the data that is being collected.
  • the first step in managing the service is to collect a list of the devices and systems that are associated to the subscriber of the service.
  • a device repository 835 serves this purpose.
  • the device repository is external to the service normalization block 705.
  • the service management engine 805 employs a capabilities repository to obtain an expanded view on the capabilities of a device so that it may map it into a role. Often the only pieces of information obtained from extrinsic systems are the unique identifier of the device, e.g., its make and model. A device may be viewed as a list of attributes (e.g., further key/value pairs) . From those attributes, the capabilities of the device may be extrapolated. Extrapolation may involve expanding the known attributes of a device by deriving new attributes of a device based on the original attributes . For example, once the make and model of a system or device is obtained by means of a query, built -m rules may then be able to determine whether or not it has Wi-Fi capability.
  • a capabilities repository to obtain an expanded view on the capabilities of a device so that it may map it into a role. Often the only pieces of information obtained from extrinsic systems are the unique identifier of the device, e.g., its make and model. A
  • a service description repository contains service descriptions. As described above, a service description includes at least some of: functions, key/value pairs, alerts, roles (along with their associated key/value pairs, alerts and actions) and relationships. Functions, at the service description level, can be actions exposed by a device, a script that can be executed, or a process (a series of scripts executed in a state engine) . [0083] A script engine 830 is configured to execute service-level functions. As described previously, a service-level function could be a script, a process or action (a series of scripts) or any other type of computer program.
  • the service management engine 805 retrieves a named script from a service description based on an event or request from a consumer of the service and passes it, along with a set of parameters, to the script engine 805 for execution.
  • the set of parameters includes: references to the constituent devices (categorized by role) and the service description. The script, once started, has access to the optimal values, the devices and systems (abstracted by device normalization or directly) and the service management system in general.
  • the service normalization block 705 has access to a capabilities repository 820.
  • the capabilities repository 820 is configured to derive new attributes and capabilities through rules based on existing, known attributes. For example, it is known that Windows ® Mobile cell phones have Internet browsers.
  • the service normalization block 705 employs the device normalization engine 715 configured to create an abstraction that provides a normal view of extrinsic device and systems. This allows the service description to be defined generically for devices and systems of the same class without having to include logic and cases for each device.
  • At least some of the systems and devices 775, 795 have the capability to generate alerts or events.
  • the alert/event engine 815 is configured to receive these alerts or events and apply them against each service description to determine whether the alert applies to that service description. If a particular alert or event does apply to a particular service, the service management system is configured to obtain a corresponding action, script or process from the service description that may be executed to respond to the alert or event.
  • Automated Offers of Service [0088] Described hereinafter are various embodiments of an application and method for calculating an appropriate offer of service automatically and presenting it to a subscriber. The offer is for services that a service provider provides to subscribers. Various of the embodiments, the application and method make use of one or more repositories of a service management system.
  • a subscriber introduces a new device or system to (i.e., comes within the purview of) a service provider
  • service offerings that can be delivered via the new device or system are automatically identified and presented to the subscriber.
  • the various systems and methods described herein are configured to evaluate the capabilities of the new device or system in the context of service descriptions corresponding to the services a service provider provides, particularly with regard to roles in the service descriptions that the new device or system may play.
  • a service provider may offer a "nannycam" service in which subscribers may record video and store it for later review.
  • the application and method can detect the presence and identity (e.g., make and model) of the new camera. With the identity, the application and method can determine the camera's capabilities and attempt to match them with various roles in various service descriptions, among which is a camera role in the service description for the nannycam service. Assuming the subscriber is otherwise equipped for the nannycam service, the application and method may then present the nannycam service to the subscriber as a service offering.
  • FIG. 9 is a diagram of one embodiment of an automated method of making an offer of service based on the introduction of a new device carried out according to the principles of the invention.
  • An alternative embodiment of the automated method involves the introduction of a new system rather than a device; otherwise the method is identical.
  • the process starts with a device being acquired in a step 905 and discovered (i.e., detected by, described to, or otherwise coming under the purview of a system carrying out the method) in a step 910.
  • This can happen in multiple ways.
  • One way is for a device to join a network and automatically contact a service management system.
  • Another way is for a service management system to assess a subscriber's devices and systems and discover that a new one exists .
  • attributes of the device are used to determine its capabilities in steps 915, 920. These capabilities are then mapped to predefined service management roles based on the capabilities required in the roles in steps 925, 930. The combination of roles matches one or more service descriptions in a step 935.
  • a service offering is calculated in a step 940.
  • One embodiment of the step 940 will be described in conjunction with FIG. 11.
  • a step 945 the service offering is presented to the subscriber.
  • One embodiment of the step 945 will be described in conjunction with FIG. 12.
  • FIG. 10 is a diagram of one embodiment of an automated method of making an offer of service based on the introduction of a new service offering carried out according to the principles of the invention.
  • FIG. 10 describes an example in which a service provider offers a new service, and automated offers of service are presented to subscribers whose devices meet the requirements of the new service.
  • the method begins in a step 1005, representing a new service offering.
  • a service description is developed or loaded into a service management system corresponding to the new service offering.
  • Roles m service description are identified, including required capabilities, in steps 1015, 1020. Specific attributes of devices or systems required to satisfy those capabilities are identified in steps 1025, 1030.
  • subscriber devices or systems that satisfy the required device attributes are identified. The devices and systems so identified are capable of conveying the new service offering to the subscriber.
  • a service offering is calculated m a step 1040.
  • One embodiment of the step 1040 will be described m conjunction with FIG. 11.
  • a step 1045 the service offering is presented to the subscriber.
  • One embodiment of the step 1045 will be described m conjunction with FIG. 12.
  • FIG. 11 is a block diagram of one embodiment of a method of calculating an offer of service carried out according to the principles of the invention.
  • FIG. 11 illustrates one embodiment of the step 940 of FIG. 9 or the step 1040 of FIG. 10.
  • a step 1105 service descriptions and subscribers whose devices match requirements m the service descriptions are introduced into the method.
  • each service description is matched to its corresponding service offering.
  • a step 1115 it is determined whether or not a subscriber already has a subscription to the service. If the service offering is not assigned already to the subscriber, the processing continues to a calculation of the offering m a step 1135.
  • step 1120 in which the service description is evaluated to see whether it has roles that can make use of devices or systems that the subscriber has. If not, the processing continues to the calculation of the offering in the step 1135. If so, it is then determined whether provisioning is required in a step 1125. The step 1125 evaluates whether enabling the device to use the service requires an action. If not, there is no offer to make to the subscriber, and processing ends in a step 1130. If provisioning is required, processing continues to the calculation of the offering in the step 1135. [0098] In the step 1135, a service offering is calculated.
  • FIG. 12 is a block diagram of one embodiment of a method of presenting an offer of service carried out according to the principles of the invention.
  • FIG. 12 illustrates one embodiment of the step 945 of FIG. 9 or the step 1045 of FIG. 10.
  • a service offering has been identified in a step 1205.
  • the service offering may be made through one or more of the devices or systems in a step 1210 or by some other delivery means (e.g., by mail) in a step 1215.
  • both of the steps 1210, 1215 may be carried out to determine all means of conveying the service offer to the subscriber.
  • subscriber preferences For example, a subscriber's mailing address may be known, allowing the subscriber to be reached by mail. However, the subscriber may have indicated a preference for electronic delivery. Accordingly, the subscriber's preference may be taken into account in the step 1220.
  • a step 1225 the service offering is conveyed to the subscriber using the chosen (perhaps preferred) delivery method.

Abstract

A service management application and method. In one embodiment, the service management system includes: (1) a service description repository configured to contain service descriptions that define services in terms of a set of end points that assume roles based on at least one of capabilities and attributes thereof, the end points being selected from the group consisting of devices and systems and (2) an application associable with the service description repository and configured to compare capabilities of at least one of the end points with required capabilities expressed in at least one role of at least one of the service descriptions and present a service offering to a subscriber based thereon.

Description

APPLICATION AND METHOD FOR GENERATING AUTOMATED OFFERS OF SERVICE AND SERVICE MANAGEMENT SYSTEM INCORPORATING THE
SAME
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application Serial No. 60/989,730, filed by Dholakia, et al . , on November 21, 2007, entitled "Method and System for Remote Device Management," commonly assigned with this application and incorporated herein by reference. This application is also related to the following U.S. patent applications, which are filed on even date herewith, commonly assigned with this application and incorporated herein by reference:
Figure imgf000002_0001
Figure imgf000003_0001
_ o -
Figure imgf000004_0001
TECHNICAL FIELD
[0002] This application relates to remote management of fixed-line and mobile devices, and, more particularly, to activation, provisioning, support, management and assurance of consumer and business services spanning one or more fixed- line devices and one or more mobile devices .
BACKGROUND [0003] Network service providers are called upon to support a large variety of networked devices, including devices coupled to home networks (e.g., residential gateways, set-top boxes and voice-over-IP, or VoIP, adapters) and cellular networks (e.g. smart phones and pocket computers) . Given the proliferation of such devices and the distributed nature of the networks involved, remote management of such devices is highly desirable .
[0004] For example, demand for smart phones and other advanced handsets is growing faster than anticipated as users look for new ways to increase their personal and professional productivity. In 2005, year-over-year growth m the smart phone market exceeded 70%, and the industry experts expect that trend to continue for the next several years. In fact by 2009, it is estimated that smart phones will represent almost 30% of all new handsets sold - up from less than three percent m 2004. [0005] As smart phones and services for smart phones boom, so do the challenges. Today, the complexity often associated with smart phones is driving customer service costs up and serves as a potential inhibitor as mobile network operators strive to achieve mass-market adoption with these sophisticated devices. In fact, consumers are finding mobile services increasingly confusing and issues around ease-of-use are holding them back from buying and using third generation (3G) handsets and services. [0006] Wireless service providers who sell and support smart phones and their associated data services face the prospect of rising customer support costs due to the complexity associated with these devices and services. In 2007, the support costs for smart phones will surpass that of feature phones. The following are few of the top reasons for this support cost .
Multiple contacts are made to a helpdesk to solve a single problem.
34% of users have never solved a problem with a single contact to the helpdesk.
Calls last two to three times longer than calls from users of feature phones .
It is common practice to escalate care from a helpdesk (Tier 1) to expensive technicians (Tier 2 and Tier 3) .
FMC (Fixed-Mobile Convergence) will add to the support burden. 89% of early adopters are more likely to go to CE vendors for support . Mainstream consumers are three times more likely to look to their service provider for support.
[0007] Similarly, network providers that are coupled to home networks (e.g., Digital Subscriber Link, or DSL, and cable) find those networks coupled to a variety of customer premises equipment (CPE) within the homes that are gradually becoming more and more sophisticated. Customer issues with such devices are no less taxing upon support staff and support infrastructure.
[0008] The Open Mobile Alliance (OMA) is currently defining a number of standards for managing functionality on mobile devices. These include protocols for device management (OMA-DM) , client provisioning (OMA-CP) , firmware updates, data synchronization (OMA-DS) and the like. Devices that support at least some of these protocols are becoming prevalent. A support solution that utilizes these protocols and provides a usable console for customer support is the only way network providers and mobile carriers can handle support for the increasing number of devices in the market. [0009] It is therefore desirable to provide a support solution that allows centralized management and control of remotely networked devices such as smart phones and CPE using protocols established for device management, updates, data synchronization and the like.
SUMMARY
[0010] Various embodiments of a method and system for providing customer support with centralized management and control of mobile phones and customer premises equipment m order to aid users of such equipment with problems related to that equipment. In one embodiment, a user interface driven mechanism is provided to allow customer support representatives to manipulate remote devices m, for example, the following manners: access information about the remote devices and the users thereof, including history of issues with a particular device, device provisioning, access to diagnostics of a device, ability to upgrade firmware/software of a device, synchronization of data, enablement of security features, remote control of devices, service and application provisioning, defining and following policies related to service management for a variety of devices and resetting devices. Such functionality can be provided, for example, through the use of a device management server that uses a variety of appropriate protocols to communicate with the remote devices.
[0011] Another aspect provides a service management system. In one embodiment, the service management system includes: (1) a service description repository configured to contain service descriptions that define services in terms of a set of end points that assume roles based on at least one of capabilities and attributes thereof, the end points being selected from the group consisting of devices and systems and (2) an application associable with the service description repository and configured to compare capabilities of at least one of the end points with required capabilities expressed in at least one role of at least one of the service descriptions and present a service offering to a subscriber based thereon. [0012] Yet another aspect provides a service management method. In one embodiment, the method includes: (1) comparing a capability of an end point associated with a subscriber with at least one required capability associated with at least one role expressed in a service description and (2) presenting a service offering associated with the service description to the subscriber based thereon. BRIEF DESCRIPTION [0013] Reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: [0014] FIG. 1 is a block diagram illustrating a network environment in which commercial transaction processing according to embodiments of the invention may be practiced;
[0015] FIG. 2 is a block diagram illustrating a computer system suitable for implementing embodiments of the invention;
[0016] FIG. 3 is a block diagram illustrating the interconnection of the computer system of FIG. 2 to client and host systems; [0017] FIG. 4 is a diagram illustrating relationships that may exist among a subscriber, a service and various devices and systems;
[0018] FIG. 5 is a diagram of one embodiment of a service description; [0019] FIG. 6 is a diagram illustrating relationships that may exist among management operations, roles, capabilities and attributes;
[0020] FIG. 7 is a high-level block diagram of one embodiment of a service management system; [0021] FIG. 8 is a block diagram of one embodiment of a service normalization block of FIG. 7;
[0022] FIG. 9 is a diagram of one embodiment of an automated method of making an offer of service based on the introduction of a new device carried out according to the principles of the invention;
[0023] FIG. 10 is a diagram of one embodiment of an automated method of making an offer of service based on the introduction of a new service offering carried out according to the principles of the invention,
[0024] PIG. 11 is a block diagram of one embodiment of a method of calculating an offer of service carried out according to the principles of the invention; and
[0025] FIG. 12 is a block diagram of one embodiment of a method of presenting an offer of service carried out according to the principles of the invention.
DETAILED DESCRIPTION
[0026] The following is intended to provide a detailed description of an example of the invention and should not be taken to be limiting of the invention itself. Rather, any number of variations may fall within the scope of the invention which is defined in the claims following the description. The use of the same reference symbols in different drawings indicates similar or identical items. [0027] Introduction [0028] Described herein are various embodiments of a management system that allows users to create, define and maintain services by defining the roles of its constituent devices and systems. Certain of the embodiments have the ability to map a given set of device and systems into roles. The roles may then be used to select key/value pairs, alerts and management function from each device. Certain of the embodiments allow relationships to be specified between roles and between other services. Using the roles and relationships as a lens upon the service's constituent devices, service-wide key/value pairs, alerts and management functions may be created.
[0029] In various embodiments to be described and illustrated herein, a method, apparatus and process are disclosed that allow for activation, provisioning, support (by call center, functions or self) , management (by call center, functions or self) and assurance of consumer and business services spanning one or more fixed-line devices and one or more mobile devices, such as PCs, AAA servers, email servers, web servers and devices of every kind. Before describing the embodiments, an example computing and network environment within which the embodiments may operate will be described.
[0030] An Example Computing and Network Environment [0031] FIG. 1 is a block diagram illustrating a network environment m which a system according to the invention may be practiced. As is illustrated in FIG. 1, network 100, such as a private wide area network (WAN) or the Internet, includes a number of networked servers 110 (1) - (N) that are accessible by client computers 120 (1) - (N) .
[0032] Communication between the client computers 120(I)-(N) and the servers HO(I)-(N) typically occurs over a publicly accessible network, such as a public switched telephone network (PSTN) , a DSL connection, a cable modem connection or large bandwidth trunks (e.g., communications channels providing Tl or 0C3 service) . The client computers 120 (1) - (N) access the servers HO(I)-(N) through, for example, a service provider. This might be, for example, an Internet Service Provider (ISP) such as America On-Line™, Prodigy™, CompuServe™ or the like. Access is typically had by executing application specific software {e.g., network connection software and a browser) on the given one of the client computers 120(I)-(N). [0033] One or more of the client computers 120(I)-(N) and/or one or more of the servers HO(I)-(N) may be, for example, a computer system of any appropriate design, in. general, including a mainframe, a mini-computer or a personal computer system. Such a computer system typically includes a system unit having a system processor and associated volatile and non-volatile memory, one or more display monitors and keyboards, one or more diskette drives, one or more fixed disk storage devices and one or more printers . These computer systems are typically information handling systems which are designed to provide computing power to one or more users, either locally or remotely. Such a computer system may also include one or a plurality of I/O devices (i.e., peripheral devices) which are coupled to the system processor and which perform specialized functions. Examples of I/O devices include modems, sound and video devices and specialized communication devices. Mass storage devices such as hard disks, CD-ROM drives and magneto-optical drives may also be provided, either as an integrated or peripheral device. One such example computer system, discussed m terms of the client computers 120(I)-(N), is shown in detail in FIG. 2.
[0034] It will be noted that the variable identifier "N" is used m several instances m FIG. 1 to more simply designate the final element (e.g., the servers HO(I)-(N) and the client computers 120(I)-(N)) of a series of related or similar elements (e.g., servers and client computers) . The repeated use of such variable identifiers is not meant to imply a correlation between the sizes of such series of elements, although such correlation may exist. The use of such variable identifiers does not require that each series of elements has the same number of elements as another series delimited by the same variable identifier. Rather, m each instance of use, the variable identified by "N" may hold the same or a different value than other instances of the same variable identifier.
[0035] FIG. 2 depicts a block diagram of a computer system 210 suitable for implementing the invention and example of one or more of the client computers 120(1)-
(N) . A computer system 210 includes a bus 212 which interconnects major subsystems of the computer system 210 such as a central processor 214, a system memory 216 (typically random-access memory, or RAM, but which may also include read-only memory, or ROM, flash RAM, or the like), an input/output controller 218, an external audio device such as a speaker system 220 via an audio output interface 222, an external device such as a display screen 224 via a display adapter 226, serial ports 228, 230, a keyboard 232 (interfaced with a keyboard controller 233), a storage interface 234, a floppy disk drive 236 operative to receive a floppy disk 238 and a CD-ROM drive 240 operative to receive a CD-ROM 242. Also included are a mouse 246 (or other point-and-click device, coupled to the bus 212 via the serial port 228) , a modem 247 (coupled to the bus 212 via the serial port 230) and a network interface 248 (coupled directly to the bus 212) . [0036] The bus 212 allows data communication between a central processor 214 and a system memory 216, which may include RAM, ROM or flash memory, as previously noted. The RAM is generally the main memory into which the operating system and application programs are loaded and typically affords at least 16 megabytes of memory space. The ROM or flash memory may contain, among other code, the Basic Input-Output system (BIOS) which controls basic hardware operation such as the interaction with peripheral components. Applications resident with the computer system 210 are generally stored on and accessed via a computer readable medium, such as a hard disk drive (e.g., fixed disk 244), an optical drive (e.g., CD-ROM drive 240) , a floppy disk unit 236 or other storage medium Additionally, applications may be m the form of electronic signals modulated m accordance with the application and data communication technology when accessed via a network modem 247 or an interface 248.
[0037] The storage interface 234, as with the other storage interfaces of the computer system 210, may connect to a standard computer readable medium for storage and/or retrieval of information, such as a fixed disk drive 244. The fixed disk drive 244 may be a part of computer system 210 or may be separate and accessed through other interface systems . Many other devices can be connected, such as a mouse 246 connected to the bus 212 via serial port 228, a modem 247 connected to the bus 212 via serial port 230 and a network interface 248 connected directly to the bus 212. The modem 247 may provide a direct connection to a remote server via a telephone link or to the Internet via an internet service provider (ISP) . The network interface 248 may provide a direct connection to a remote server via a direct network link to the Internet via a POP (point of presence) . The network interface 248 may provide such connection using wireless techniques, including digital cellular telephone connection, Cellular Digital Packet Data (CDPD) connection, digital satellite data connection or the like.
[0038] Many other devices or subsystems (not shown) may be connected in a similar manner (e.gr., bar code readers, document scanners, digital cameras and so on) . [0039] Conversely, it is not necessary for all of the devices shown m FIG. 2 to be present to practice the invention. The devices and subsystems may be interconnected in different ways from that shown m FIG 2. The operation of a computer system such as that shown in FIG. 2 is readily known m the art and is not discussed m detail m this application Code to implement the invention may be stored m computer- readable storage media such as one or more of the system memory 216, the fixed disk 244, the CD-ROM 242 or the floppy disk 238. Additionally, the computer system 210 may be any kind of computing device and so includes personal data assistants (PDAs), network appliance, X- wmdow terminal or other such computing device. The operating system provided on the computer system 210 may be MS-DOS®, MS-Windows®, OS/2®, UNIX®, Linux® or other known operating system. The computer system 210 may also support a number of Internet access tools, including, for example, a Hypertext Transfer Protocol (HTTP) -compliant web browser having a JavaScript interpreter, such as Netscape Navigator® 3.0, Microsoft Explorer® 3.0 and the like. [0040] The foregoing described embodiment wherein the different components are contained within different other components (e.g., the various elements shown as components of the computer system 210) . It is to be understood that such depicted architectures are merely examples, and that m fact many other architectures can be implemented which achieve the same functionality. In an abstract, but still definite sense, any arrangement of components to achieve the same functionality is effectively "associated" such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as "associated with" each other such that the desired functionality is achieved, irrespective of architectures or intermediate components. Likewise, any two components so associated can also be viewed as being "operably connected, " or "operably coupled, " to each other to achieve the desired functionality.
[0041] FIG. 3 is a block diagram depicting a network 300 m which the computer system 210 is coupled to an internetwork 310, which is coupled, in turn, to client systems 320, 330, as well as a server 340. An internetwork 310 (e.g., the Internet or a wide-area network, or WAN) is also capable of coupling the client systems 320, 330 and the server 340 to one another. With reference to the computer system 210, the modem 247, the network interface 248 or some other method can be used to provide connectivity from the computer system 210 to the internetwork 310. The computer system 210, the client system 320 and the client system 330 are able to access information on the server 340 using, for example, a web browser (not shown) . Such a web browser allows the computer system 210, as well as the client systems 320, 330, to access data on the server 340 representing the pages of a website hosted on the server 340. Protocols for exchanging data via the Internet are well known to those skilled m the art. Although PIG. 3 depicts the use of the Internet for exchanging data, the invention is not limited to the Internet or any particular network- based environment .
[0042] Referring to FIGs. 1, 2 and 3, a browser running on the computer system 210 employs a TCP/IP connection to pass a request to the server 340, which can run an HTTP "service" (e.g., under the WINDOWS® operating system) or a "daemon" (e.g., under the UNIX® operating system) , for example. Such a request can be processed, for example, by contacting an HTTP server employing a protocol that can be used to communicate between the HTTP server and the client computer. The HTTP server then responds to the protocol, typically by sending a "web page" formatted as an HTML file. The browser interprets the HTML file and may form a visual representation of the same using local resources (e.g., fonts and colors) . [0043] Example Embodiments of a Service Management System
[0044] The functions referred to herein may be modules or portions of modules (e.g., software, firmware or hardware modules) . For example, although the described embodiment includes software modules and/or includes manually entered user commands, the various example modules may be application specific hardware modules. The software modules discussed herein may include script, batch or other executable files, or combinations and/or portions of such files. The software modules may include a computer program or subroutines thereof encoded on computer-readable media.
[0045] Additionally, those skilled in the art will recognize that the boundaries between modules are merely illustrative and alternative embodiments may merge modules or impose an alternative decomposition of functionality of modules. For example, the modules discussed herein may be decomposed into sub-modules to be executed as multiple computer processes and, optionally, on multiple computers. Moreover, alternative embodiments may combine multiple instances of a particular module or sub-module. Furthermore, those skilled in the art will recognize that the functions described in example embodiment are for illustration only. Operations may be combined or the functionality of the functions may be distributed in additional functions in accordance with the invention. [0046] Alternatively, such actions may be embodied in the structure of circuitry that implements such functionality, such as the micro-code of a complex instruction set computer (CISC) , firmware programmed into programmable or erasable/programmable devices, the configuration of a field-programmable gate array (FPGA) , the design of a gate array or full -custom application- specific integrated circuit (ASIC), or the like. [0047] Each of the blocks of the flow diagram may be executed by a module (e.g., a software module) or a portion of a module or a computer system user using, for example, a computer system such as the computer system 210. Thus, the above described method, the functions thereof and modules therefore may be executed on a computer system configured to execute the functions of the method and/or may be executed from computer-readable media. The method may be embodied in a machine-readable and/or computer-readable medium for configuring a computer system to execute the method. Thus, the software modules may be stored within and/or transmitted to a computer system memory to configure the computer system to perform the functions of the module. [0048] Such a computer system normally processes information according to a program (a list of internally stored instructions such as a particular application program and/or an operating system) and produces resultant output information via I/O devices. A computer process typically includes an executing (running) program or portion of a program, current program values and state information and the resources used by the operating system to manage the execution of the process. A parent process may spawn other, child processes to help perform the overall functionality of the parent process. Because the parent process specifically spawns the child processes to perform a portion of the overall functionality of the parent process, the functions performed by child processes (and grandchild processes, etc.) may sometimes be described as being performed by the parent process .
[0049] Such a computer system typically includes multiple computer processes executing "concurrently." Often, a computer system includes a single processing unit which is capable of supporting many active processes alternately. Although multiple processes may appear to be executing concurrently, at any given point in time only one process is actually executed by the single processing unit. By rapidly changing the process executing, a computer system gives the appearance of concurrent process execution. The ability of a computer system to multiplex the computer system's resources among multiple processes in various stages of execution is called multitasking. Systems with multiple processing units, which by definition can support true concurrent processing, are called multiprocessing systems. Active processes are often referred to as executing concurrently when such processes are executed in a multitasking and/or a multiprocessing environment. [0050] The software modules described herein may be received by such a computer system, for example, from computer readable media. The computer readable media may be permanently, removably or remotely coupled to the computer system. The computer readable media may non- exclusively include, for example, any number of the following: magnetic storage media including disk and tape storage media. optical storage media such as compact disk media (e.g., CD-ROM, CD-R, etc.) and digital video disk storage media, nonvolatile memory storage memory including semiconductor-based memory units such as flash memory, EEPROM, EPROM, ROM or application-specific integrated circuits (ASICs), volatile storage media including registers, buffers or caches, main memory, RAM and the like, and data transmission media including computer network, point-to-point telecommunication and carrier wave transmission media. In a UNIX-based embodiment, the software modules may be embodied in a file which may be a device, a terminal, a local or remote file, a socket, a network connection, a signal, or other expedient of communication or state change. Other new and various types of computer-readable media may be used to store and/or transmit the software modules discussed herein.
[0051] Before describing various embodiments of management systems constructed according to the principles of the invention, some use cases or interactions will be described that provide a framework for understanding the management systems. Various of the embodiments of the management systems are directed to addressing the following categories of use cases or interactions: service activation, service management, service interruption and resumption and service offering. Service activation refers to all the use cases that involve creating (provisioning) and deleting (unprovisioning) a new service instance, or "subscription." Service management refers to day-to-day management tasks involving a given service or subscription. Service interruption and resumption may be thought of as special types of service management that involve the loss and restoration of service. Service offering refers to new services that may be offered to a subscriber . [0052] The categories of use cases that set forth above may be illustrated with reference to FIG. 4. FIG. 4 is a diagram illustrating relationships that may exist among a subscriber 410, a service 420 and various devices and systems 430. A service provider, such as a cellular phone company, an Internet service provider, a cable television company or a combination of these, offers one or more services to subscribers that involve devices and systems such as cell phones, set- top boxes, routers, cell towers, email servers, DSLAMs, landline phones and other mobile and customer premises equipment and network infrastructure. In the context of FIG. 4, the subscriber 410 takes out a subscription 440 to a service 420 offered by a service provider. The subscription contains state and other information that is both relative to the subscriber 410 and the service 420. The subscription calls for one or more associations 450 to be made between the subscriber 410 and various devices and systems 430. The subscriber 410 may own or lease one or more devices 430. The subscriber 410 may also be associated with one or more systems 430. Once the associations 450 are made, the devices and systems 430 assume roles 460 in delivering the service 420 to the subscriber 410. The roles describe to the service management system how the device should be managed.
[0053] FIG. 4 may be employed to illustrate t^o example use cases: activating a device for a subscriber and managing and provisioning a subscription.
[0054] To activate a device (one of the devices and systems 430) for a subscriber 410, the following steps may be taken. First, for a given device 410, the subscriber 410 associated with that device 430 is found. This is done by employing the associations 450. Once the associated subscriber 410 has been identified, a corresponding subscription 440 may then be used to determine the service or services 420 that should be provisioned on the device 430. For each service 420 that needs to be activated on the device 430, two alternative actions may be taken. Based upon the role the device 430 plays with respect to the service 420, settings on the device 430 may be set to provision the device. Alternatively or additionally, based on the roles of other devices and systems 430 relative to the service 420, settings on the other devices and systems may be set to provision them for the new device's presence. [0055] Managing and provisioning a subscription involves either adding a new service to a subscriber or managing an existing service. To manage and provision a subscription 440 for a subscriber 410, the following steps may be taken. First, a service 420 is added to a subscriber 410, or an existing service 420 is modified. Devices and systems 430 associated with the subscriber are collected. Then, each device associated with the service 420 is mapped into the different roles 460 m the targeted service. This reveals what actions should be taken with respect to each device or system to provision the service 420.
[0056] Another use case that is a variant on the one above is a bulk change to an existing service for all subscribers. In this use case, existing subscriptions are retrieved to obtain a list of subscribers. Then, a list of devices and systems 430 is assembled for each subscriber. Using roles, changes are then applied to the devices and systems 430 to enable the bulk change. [0057] Having described various use cases, one manner m which interaction may occur among roles, devices and systems, and the service level management interfaces will now be described. FIG. 5 is a diagram of one embodiment of a service description 500. FIG. 5 shows that the service description 500 includes service alerts 505, functions 510 and key/value pairs 515. Roles are associated with the service alerts 505, the functions 510 and the key/value pairs 515. The roles, designated Role A 520, Role B 525 and Role C 530 are associated as shown with the service alerts 505, the functions 510 and the key/value pairs 515 as various arrows show. Meta data 535 is also associated with the key/value pairs 515. Devices or systems 540, 545 are associated with the roles 520, 525, 535 as various arrows show. [0058] FIG. 5 illustrates, m the context of the service description 500, how a set of roles (e.g., the roles 520, 525, 535) can be mapped onto a set of devices and systems (e.g., the devices or systems 540, 545) . The roles define the functions, alerts and functions that are of interest from each device or system. In the illustrated embodiment, the meta data 535 contains both service-wide and subscriber/subscription data that is specific to the service description. Items like level of service and current state of activation would be a part of the meta data. The alerts, functions, and key/value pairs 505. 510, 515 together constitute services supported by the devices and systems 540, 545 exposed through the roles 520, 525, 530. The service description 500 is configured to contain arbitrary, named relationships that can be used to affect a service. The service description 500 may also be configured to contain one or more references to other service with which it has relationships or upon which it has dependencies. Accordingly, a further service description 550 is associated with the meta data 535 as an arrow shows. Similar to the relationships between roles, relationships between services are exposed to the logic in the service description and to external logic associated with the service description.
[0059] To make a role useful, the role is matched with a device. FIG. 6 is a diagram illustrating relationships that may exist among management functions (i.e., values, alerts and functions 505, 510, 515), roles (e.g., 460), capabilities and attributes 610 and devices and systems (e.g., 430) . In the embodiment of FIG. 6, the mechanism for doing this is twofold. First, a role may be matched to a device or a system based on the known attributes of the device or system. Second, a role may be matched to a device or a system based upon the known capabilities of the device or system. [0060] Device attributes are known aspects of the device, e.g., the type, serial number, MAC address, manufacture date, make, model, service tags, device ID or operating system of the device or system. Other attributes may include the firmware version, hardware version, embedded device, locale (language) , and physical location. Device attributes, m the simplest form, could be a list of known key/value pairs associated to the device.
[0061] Capabilities are similar to device attributes. In this case, instead of a list of key/value pairs, these are a list of values (without the key) of known capabilities about the device, e.g., generic email client, Microsoft Outlook® email client, phone, router or IPTV device. Other examples include network attached storage, media server, media renderer, camera, MMS client, SMS client, wireless access provider, wireless access client, printer, GPS, vibrate, Bluetooth, USB, Wi- Fi, clock, browser, QVGA, flight mode, caller ID, touch screen, or fax.
[0062] Both the capabilities and the attributes can be provided to or retrieved from an external system, deduced or derived from known attributes and capabilities, queried directly from the device or system or a combination of these. For example, prior knowledge may exist that any device that has a serial number from a given manufacture starting with the letter W- has built- in Wi-Fi capabilities, or that Windows® Mobile phone supports OMA-DM.
[0063] It can be determined whether a given device or system matches a role by matching its attributes and capabilities (derived, discovered, or known) against the required attributes and capabilities of a given role. Each role defines a set of key/value pairs, alerts, and functions that are relevant for devices of that role in the service description. [0064] It should be noted that roles do not imply device type, model or brand. Direct mappings between devices and roles may occur in practice, but the mappings are flexible such that they may change as device attributes or capabilities change. For example, newer devices may support more roles than do older devices One example of a role is a phone capable of functioning as an email client may play an "EmailClient" role m a service description associated with an email service. Other roles m an email service may include "SMTPServer , " "POPServer" and "IMAPServer . " Roles m a data connectivity service may include "Host," "Router," "Wireless Access Point," "Head End," "Border Gateway" and "Authentication, Authorization, Account Server." [0065] FIG. 7 is a high-level block diagram of one embodiment of a service management system. The service management system includes a service normalization block 705 that will be described m greater detail in conjunction with FIG. 8 below. The service normalization block interacts with an optimal settings block 710, a device (and/or system) normalization block 715, a diagnostic engine block 720 and a content repository block 725. A segmentation block 730 and a knowledge base 735 interact with the optimal settings block 710, the device normalization block 715, the diagnostic engine block 720 and the content repository block 725 as shown. [0066] The service normalization block 705 employs an application programming interface (API), allowing it to exchange information with an interactive voice response (IVR) system 745, a console 750 for a customer service representative (CSR) , a Self-Service Management (SSM) application module 755 and other applications 760, 765 as may be found advantageous in a particular environment.
[0067] The optimal settings block 710 is a repository of predefined known good values used for the purposes of comparing key/value pairs to determine diagnostic and state information. The key/value pairs are also used during provisioning to set up a system or a device. The optimal settings block 710 may be regarded as a configuration repository that contains raeta data about the configuration so that applications and other systems can look up known good values for the purpose of configuring (provisioning), diagnostic, and repair. The illustrated embodiment of the optimal settings block 710 is configured to define optimal values for any given key/value pair based on the context of the device, subscriber, customer, or any other segmentation scheme that could be use to define different values for the same attribute (key) . These values may be used by both the script engine 830 and directly by the service management engine 805 to determine whether or not a given key/value pair is "optimal." Optimal values may fall into three categories: (1) values predefined in the context of the service as being correct, (2) values defined based by a call to an extrinsic system or by subscriber input as being correct and (3) absolute values (which is often built into the logic of the script or service description logic and not stored externally) . An example of a predefined optimal value is a POP server. The subscriber is aware of its identity, and it is the same for all subscribers. An example of an absolute value is "connectivity = good." An example of a value defined by a subscriber as being correct is a password, something that the subscriber chooses and is not defined before the subscriber chooses it .
[0068] The device normalization block 715 is configured to map normalized key/value pairs to device- specific or system-specific key value pairs. Mapping may be performed by transformation, executing a script, or undertaking any other appropriate normalization mechanism.
[0069] The diagnostic engine 720 is configured to contain diagnostic rules and cause diagnostic rules to be executed in order to identify, characterize and present potential solutions to problems that may exist with devices or systems. The content repository is configured to provide a channel -independent mechanism for associating bearer (e.g., IVR voice flows, service through a customer service representative portal web content and customer service articles) to diagnose a problem. [0070] The segmentation block 730 and knowledge base 735 likewise employ a data sources abstraction layer 770, allowing it to communicate with systems 775, 790 and provisioning servers and device managers 780, 785.
[0071] Different subscribers subscribe to different levels of service and live in different locations and under different circumstances. The segmentation block 730 is configured to enable other portions of the service management system to tailor responses to a subscriber based on his level of service, location and/or circumstance . [0072] The knowledge base 735 is configured to contain articles associated with known device, system and/or service problems. When the diagnostic engine 720 identifies a problem area or a specified problem, it may provide articles from the knowledge based 735 to an application to allow the application to provide the article in turn to a CSR for informational purposes. [0073] The data sources abstraction layer 770 is configured to operate as a protocol implementation and adaptation layer, allowing generic logic to interact with specific devices and systems without having to employ a device-specific or system-specific protocol. [0074] The systems 775, 790 are typically added by a particular service provider and interact with the service management system as needed. The provisioning servers and device managers 780, 785 support various devices 795 intended for use by subscribers. In the illustrated embodiment, the provisioning servers and device managers 780, 785 are management systems that manage large groups of devices that typically share the same protocol {e.g., a mobile device manager that manages 10 million phones using the OMA-DM protocol) . The devices 795 are just CPE, such as phones and routers.
[0075] FIG. 8 is a block diagram of one embodiment of the service normalization block 705. The API 740 provides a mechanism by which the service normalization block 705 may be called from within and without the service management system. By means of the API 740, subscribers may have services added (provisioned) , removed (unprovisioned) , modified or otherwise managed. Devices of subscribers may also be managed in the context of a particular service. Management access to key/value pairs of constituent devices and systems may also be dynamically determined and managed based on their roles in providing particular services. [0076] A service management engine 805 enables a service provider to implement and manage services by means of the service normalization block 705 according to the various use cases described above. The illustrated embodiment of the service management engine 805 functions in two primary ways. First, the service management engine 805 manages functions defined by service descriptions. Second, the service management engine 805 provides a dynamic view of a given service. [0077] The management of functions allows service descriptions to define named functions that can be called with contextual data derived from analyzing constituent devices and systems in their associated roles of a service . [0078] The provision of a dynamic view of a given service enables a service description to associate key/value pairs (data) with different roles and dynamically to gather data from the devices and systems so that data can be presented without the need for intrinsic knowledge of the data that is being collected. For example, a service-view dashboard capable of creating a map of devices with their associated data of interest (each categorized by their role in the service) may employ dynamic views of services. In the illustrated embodiment, the data itself is self-describing and typically presented in tabular form.
[0079] In an alternative embodiment, the service management engine 805 is also capable of providing a view of a given service, in which case the application does have prior intrinsic knowledge regarding the data that is being collected. [0080] The first step in managing the service is to collect a list of the devices and systems that are associated to the subscriber of the service. A device repository 835 serves this purpose. In the illustrated embodiment, the device repository is external to the service normalization block 705.
[0081] The service management engine 805 employs a capabilities repository to obtain an expanded view on the capabilities of a device so that it may map it into a role. Often the only pieces of information obtained from extrinsic systems are the unique identifier of the device, e.g., its make and model. A device may be viewed as a list of attributes (e.g., further key/value pairs) . From those attributes, the capabilities of the device may be extrapolated. Extrapolation may involve expanding the known attributes of a device by deriving new attributes of a device based on the original attributes . For example, once the make and model of a system or device is obtained by means of a query, built -m rules may then be able to determine whether or not it has Wi-Fi capability. [0082] A service description repository contains service descriptions. As described above, a service description includes at least some of: functions, key/value pairs, alerts, roles (along with their associated key/value pairs, alerts and actions) and relationships. Functions, at the service description level, can be actions exposed by a device, a script that can be executed, or a process (a series of scripts executed in a state engine) . [0083] A script engine 830 is configured to execute service-level functions. As described previously, a service-level function could be a script, a process or action (a series of scripts) or any other type of computer program. In the illustrated embodiment, the service management engine 805 retrieves a named script from a service description based on an event or request from a consumer of the service and passes it, along with a set of parameters, to the script engine 805 for execution. In the illustrated embodiment, the set of parameters includes: references to the constituent devices (categorized by role) and the service description. The script, once started, has access to the optimal values, the devices and systems (abstracted by device normalization or directly) and the service management system in general.
[0084] The service normalization block 705 has access to a capabilities repository 820. The capabilities repository 820 is configured to derive new attributes and capabilities through rules based on existing, known attributes. For example, it is known that Windows® Mobile cell phones have Internet browsers. [0085] The service normalization block 705 employs the device normalization engine 715 configured to create an abstraction that provides a normal view of extrinsic device and systems. This allows the service description to be defined generically for devices and systems of the same class without having to include logic and cases for each device. For example, if one device is managed by OMA-DM and has an email client while another device that also has an email client is managed by Digital Subscriber Line (DSL) Forum standard TR069, both devices will have a Simple Mail Transfer Protocol (SMTP) server. However, the manner in which values are obtained can differ by protocol (OMA-DM versus TR069) and by key (the name for the value) .
[0086] At least some of the systems and devices 775, 795 have the capability to generate alerts or events. The alert/event engine 815 is configured to receive these alerts or events and apply them against each service description to determine whether the alert applies to that service description. If a particular alert or event does apply to a particular service, the service management system is configured to obtain a corresponding action, script or process from the service description that may be executed to respond to the alert or event. [0087] Automated Offers of Service [0088] Described hereinafter are various embodiments of an application and method for calculating an appropriate offer of service automatically and presenting it to a subscriber. The offer is for services that a service provider provides to subscribers. Various of the embodiments, the application and method make use of one or more repositories of a service management system.
[0089] As a subscriber introduces a new device or system to (i.e., comes within the purview of) a service provider, service offerings that can be delivered via the new device or system are automatically identified and presented to the subscriber. The various systems and methods described herein are configured to evaluate the capabilities of the new device or system in the context of service descriptions corresponding to the services a service provider provides, particularly with regard to roles in the service descriptions that the new device or system may play. [0090] For example, a service provider may offer a "nannycam" service in which subscribers may record video and store it for later review. A subscriber who currently has a PC (one type of system) and a subscription with the service provider to act as his Internet Service Provider (ISP) installs a new web camera he just purchased to the PC. The application and method can detect the presence and identity (e.g., make and model) of the new camera. With the identity, the application and method can determine the camera's capabilities and attempt to match them with various roles in various service descriptions, among which is a camera role in the service description for the nannycam service. Assuming the subscriber is otherwise equipped for the nannycam service, the application and method may then present the nannycam service to the subscriber as a service offering.
[0091] Two embodiments of systems and methods will now be presented: one in which a subscriber introduces a new device or system, and another in which a service provider introduces a new service. FIG. 9 is a diagram of one embodiment of an automated method of making an offer of service based on the introduction of a new device carried out according to the principles of the invention. An alternative embodiment of the automated method involves the introduction of a new system rather than a device; otherwise the method is identical.
[0092] The process starts with a device being acquired in a step 905 and discovered (i.e., detected by, described to, or otherwise coming under the purview of a system carrying out the method) in a step 910. This can happen in multiple ways. One way is for a device to join a network and automatically contact a service management system. Another way is for a service management system to assess a subscriber's devices and systems and discover that a new one exists . [0093] Once the device is discovered, attributes of the device are used to determine its capabilities in steps 915, 920. These capabilities are then mapped to predefined service management roles based on the capabilities required in the roles in steps 925, 930. The combination of roles matches one or more service descriptions in a step 935. The result of this chain of associations is knowledge of the service offerings in which the device can participate. This knowledge is focused, which improves the quality of the service offering that is presented, quality being defined in terms of the propriety or pertinence of the offer being presented. A service offering is calculated in a step 940. One embodiment of the step 940 will be described in conjunction with FIG. 11. In a step 945, the service offering is presented to the subscriber. One embodiment of the step 945 will be described in conjunction with FIG. 12.
[0094] FIG. 10 is a diagram of one embodiment of an automated method of making an offer of service based on the introduction of a new service offering carried out according to the principles of the invention. FIG. 10 describes an example in which a service provider offers a new service, and automated offers of service are presented to subscribers whose devices meet the requirements of the new service.
[0095] The method begins in a step 1005, representing a new service offering. In a step 1010, a service description is developed or loaded into a service management system corresponding to the new service offering. Roles m service description are identified, including required capabilities, in steps 1015, 1020. Specific attributes of devices or systems required to satisfy those capabilities are identified in steps 1025, 1030. In a step 1025, subscriber devices or systems that satisfy the required device attributes are identified. The devices and systems so identified are capable of conveying the new service offering to the subscriber. A service offering is calculated m a step 1040. One embodiment of the step 1040 will be described m conjunction with FIG. 11. In a step 1045, the service offering is presented to the subscriber. One embodiment of the step 1045 will be described m conjunction with FIG. 12.
[0096] FIG. 11 is a block diagram of one embodiment of a method of calculating an offer of service carried out according to the principles of the invention. FIG. 11 illustrates one embodiment of the step 940 of FIG. 9 or the step 1040 of FIG. 10. In a step 1105, service descriptions and subscribers whose devices match requirements m the service descriptions are introduced into the method. In a step 1110, each service description is matched to its corresponding service offering. In a step 1115, it is determined whether or not a subscriber already has a subscription to the service. If the service offering is not assigned already to the subscriber, the processing continues to a calculation of the offering m a step 1135.
[0097] If the service offering is already assigned to the subscriber, another decision is made m a step 1120 in which the service description is evaluated to see whether it has roles that can make use of devices or systems that the subscriber has. If not, the processing continues to the calculation of the offering in the step 1135. If so, it is then determined whether provisioning is required in a step 1125. The step 1125 evaluates whether enabling the device to use the service requires an action. If not, there is no offer to make to the subscriber, and processing ends in a step 1130. If provisioning is required, processing continues to the calculation of the offering in the step 1135. [0098] In the step 1135, a service offering is calculated. At this point, the offers appropriate to make to the subscriber are already identified, but additional business logic may be executed to customize the results for a particular subscriber (e.g., to personalize the offer or price the offer, perhaps in the context of other subscriptions the subscriber already has) . In a step 1140, the service offering is made ready for presentation (e.g., formatted or submitted for approval by a person employed by the service provider) . [0099] FIG. 12 is a block diagram of one embodiment of a method of presenting an offer of service carried out according to the principles of the invention. FIG. 12 illustrates one embodiment of the step 945 of FIG. 9 or the step 1045 of FIG. 10.
[00100] A service offering has been identified in a step 1205. Depending upon the capabilities of the devices or systems associated with a particular subscriber, the service offering may be made through one or more of the devices or systems in a step 1210 or by some other delivery means (e.g., by mail) in a step 1215. Alternatively, both of the steps 1210, 1215 may be carried out to determine all means of conveying the service offer to the subscriber. These are filtered by subscriber preferences in a step 1220. For example, a subscriber's mailing address may be known, allowing the subscriber to be reached by mail. However, the subscriber may have indicated a preference for electronic delivery. Accordingly, the subscriber's preference may be taken into account in the step 1220. In a step 1225, the service offering is conveyed to the subscriber using the chosen (perhaps preferred) delivery method. [00101] Those skilled in the art to which this application relates will appreciate that other and further additions, deletions, substitutions and modifications may be made to the described embodiments.

Claims

WHAT IS CLAIMED ISs
1. A service management system, comprising: a service description repository configured to contain service descriptions that define services in terms of a set of end points that assume roles based on at least one of capabilities and attributes thereof, said end points being selected from the group consisting of devices and systems; and an application associable with said service description repository and configured to compare capabilities of at least one of said end points with required capabilities expressed in at least one role of at least one of said service descriptions and present a service offering to a subscriber based thereon.
2. The service management system as recited m Claim 1 wherein said at least one of said end points is a new end point associated with said subscriber, said at least one of said service descriptions corresponds to an existing service and said application is further configured to detect said new end point.
3. The service management system as recited in Claim 2 wherein said application is configured to detect said new end point by receiving an indication of said end point when said end point joins a network coupled to said service management system.
4. The service management system as recited in Claim 2 wherein said application is configured to detect said new end point by assessing end points associated with said describer.
5. The service management system as recited in Claim 1 wherein said at least one of said end points is an existing end point, said at least one of said service descriptions corresponds to a new service and said application is further configured to compare capabilities of end points of multiple subscribers and present service offerings to said multiple subscribers based thereon.
6. The service management system as recited in Claim 5 wherein said application is further configured to determine whether said subscriber is already subscribed to said service before presenting said service offering thereto .
7. The service management system as recited in Claim 1 wherein said application is further configured to determine whether said at least one of said end points requires provisioning.
8. The service management system as recited in Claim 1 wherein said application is further configured to calculate said service offering based on an identity of said subscriber.
9. The service management system as recited in Claim 1 wherein said service descriptions contain service descriptions expressed in a selected one of: a human readable markup language, and binary data representations.
10. The service management system as recited in Claim 1 wherein said application is further configured to cause said service offering to be delivered to said subscriber subject to a delivery preference and via one of: an end point, and mail .
11. A service management method, comprising: comparing a capability of an end point associated with a subscriber with at least one required capability associated with at least one role expressed in a service description; and presenting a service offering associated with said service description to said subscriber based thereon.
12. The method as recited in Claim 11 wherein said at least one of said end points is a new end point associated with said subscriber, said at least one of said service descriptions corresponds to an existing service and said method further comprises detecting said new end point .
13. The method as recited in Claim 12 wherein said detecting comprises receiving an indication of said end point when said end point joins a network coupled to said service management system.
14. The method as recited in Claim 12 wherein said detecting comprises assessing end points associated with said describer.
15. The method as recited in Claim 11 wherein said at least one of said end points is an existing end point, said at least one of said service descriptions corresponds to a new service and said method further comprises comparing capabilities of end points of multiple subscribers and present service offerings to said multiple subscribers based thereon.
16. The method as recited in Claim 15 wherein said method further comprises determining whether said subscriber is already subscribed to said service before presenting said service offering thereto.
17. The method as recited in Claim 11 wherein said method further comprises determining whether said at least one of said end points requires provisioning.
18. The method as recited in Claim 11 wherein said method further comprises calculating said service offering based on an identity of said subscriber.
19. The method as recited in Claim 11 wherein said service descriptions contain service descriptions expressed in a selected one of: a human readable markup language, and binary data representations.
20. The method as recited in Claim 11 wherein said method further comprises causing said service offering to be delivered to said subscriber subject to a delivery preference and via one of: an end point, and mail .
PCT/US2008/084436 2007-11-21 2008-11-21 Application and method for generating automated offers of service and service management system incorporating the same WO2009067713A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200880122618.8A CN102067520B (en) 2007-11-21 2008-11-21 For generating the automated provisioning application of service and method and being incorporated with the service management system of this application and method
EP08853077A EP2220816A1 (en) 2007-11-21 2008-11-21 Application and method for generating automated offers of service and service management system incorporating the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US98973007P 2007-11-21 2007-11-21
US60/989,730 2007-11-21

Publications (1)

Publication Number Publication Date
WO2009067713A1 true WO2009067713A1 (en) 2009-05-28

Family

ID=40394073

Family Applications (9)

Application Number Title Priority Date Filing Date
PCT/US2008/084429 WO2009067707A2 (en) 2007-11-21 2008-11-21 Normalization engine and method of requesting a key-value pair of a device
PCT/US2008/084431 WO2009067709A2 (en) 2007-11-21 2008-11-21 Service management system and method of executing a policy in a network
PCT/US2008/084437 WO2009067714A2 (en) 2007-11-21 2008-11-21 Provisioning and management of end points with respect to a subscriber
PCT/US2008/084436 WO2009067713A1 (en) 2007-11-21 2008-11-21 Application and method for generating automated offers of service and service management system incorporating the same
PCT/US2008/084426 WO2009067705A1 (en) 2007-11-21 2008-11-21 System and method for identifying and calling a function of a service
PCT/US2008/084432 WO2009067710A2 (en) 2007-11-21 2008-11-21 System and method for network service management and diagnostics
PCT/US2008/084438 WO2009067715A1 (en) 2007-11-21 2008-11-21 System and method for invoking a function of a service in response to an event and service management system employing the same
PCT/US2008/084435 WO2009067712A2 (en) 2007-11-21 2008-11-21 Issue-oriented service management and method of operation thereof
PCT/US2008/084425 WO2009067704A2 (en) 2007-11-21 2008-11-21 Role-based network service management

Family Applications Before (3)

Application Number Title Priority Date Filing Date
PCT/US2008/084429 WO2009067707A2 (en) 2007-11-21 2008-11-21 Normalization engine and method of requesting a key-value pair of a device
PCT/US2008/084431 WO2009067709A2 (en) 2007-11-21 2008-11-21 Service management system and method of executing a policy in a network
PCT/US2008/084437 WO2009067714A2 (en) 2007-11-21 2008-11-21 Provisioning and management of end points with respect to a subscriber

Family Applications After (5)

Application Number Title Priority Date Filing Date
PCT/US2008/084426 WO2009067705A1 (en) 2007-11-21 2008-11-21 System and method for identifying and calling a function of a service
PCT/US2008/084432 WO2009067710A2 (en) 2007-11-21 2008-11-21 System and method for network service management and diagnostics
PCT/US2008/084438 WO2009067715A1 (en) 2007-11-21 2008-11-21 System and method for invoking a function of a service in response to an event and service management system employing the same
PCT/US2008/084435 WO2009067712A2 (en) 2007-11-21 2008-11-21 Issue-oriented service management and method of operation thereof
PCT/US2008/084425 WO2009067704A2 (en) 2007-11-21 2008-11-21 Role-based network service management

Country Status (5)

Country Link
US (15) US8631108B2 (en)
EP (7) EP2220816A1 (en)
CN (7) CN102067519A (en)
AT (2) ATE555571T1 (en)
WO (9) WO2009067707A2 (en)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8132166B2 (en) * 2007-05-14 2012-03-06 Red Hat, Inc. Methods and systems for provisioning software
US8561058B2 (en) * 2007-06-20 2013-10-15 Red Hat, Inc. Methods and systems for dynamically generating installation configuration files for software
US8464247B2 (en) * 2007-06-21 2013-06-11 Red Hat, Inc. Methods and systems for dynamically generating installation configuration files for software
US8713177B2 (en) * 2008-05-30 2014-04-29 Red Hat, Inc. Remote management of networked systems using secure modular platform
US9100297B2 (en) * 2008-08-20 2015-08-04 Red Hat, Inc. Registering new machines in a software provisioning environment
US8930512B2 (en) * 2008-08-21 2015-01-06 Red Hat, Inc. Providing remote software provisioning to machines
US9477570B2 (en) 2008-08-26 2016-10-25 Red Hat, Inc. Monitoring software provisioning
US8838827B2 (en) 2008-08-26 2014-09-16 Red Hat, Inc. Locating a provisioning server
US8793683B2 (en) 2008-08-28 2014-07-29 Red Hat, Inc. Importing software distributions in a software provisioning environment
US20100058327A1 (en) * 2008-08-28 2010-03-04 Dehaan Michael Paul Methods and systems for providing customized actions related to software provisioning
US9111118B2 (en) 2008-08-29 2015-08-18 Red Hat, Inc. Managing access in a software provisioning environment
US9952845B2 (en) * 2008-08-29 2018-04-24 Red Hat, Inc. Provisioning machines having virtual storage resources
US8527578B2 (en) * 2008-08-29 2013-09-03 Red Hat, Inc. Methods and systems for centrally managing multiple provisioning servers
US9021470B2 (en) 2008-08-29 2015-04-28 Red Hat, Inc. Software provisioning in multiple network configuration environment
US8103776B2 (en) * 2008-08-29 2012-01-24 Red Hat, Inc. Systems and methods for storage allocation in provisioning of virtual machines
US9164749B2 (en) 2008-08-29 2015-10-20 Red Hat, Inc. Differential software provisioning on virtual machines having different configurations
US8244836B2 (en) * 2008-08-29 2012-08-14 Red Hat, Inc. Methods and systems for assigning provisioning servers in a software provisioning environment
US8326972B2 (en) * 2008-09-26 2012-12-04 Red Hat, Inc. Methods and systems for managing network connections in a software provisioning environment
US8612968B2 (en) 2008-09-26 2013-12-17 Red Hat, Inc. Methods and systems for managing network connections associated with provisioning objects in a software provisioning environment
US8656227B2 (en) 2008-11-13 2014-02-18 Transcend Information, Inc. On-line client service method for storage apparatus
TWI377469B (en) * 2008-11-13 2012-11-21 Transcend Information Inc Storage apparatus and on-line client service system, soft and method thereof
US8898305B2 (en) * 2008-11-25 2014-11-25 Red Hat, Inc. Providing power management services in a software provisioning environment
WO2010061435A1 (en) * 2008-11-25 2010-06-03 富士通株式会社 Alternate processing determining method, alternate processing determining device, program, and portable telephone terminal
US9124497B2 (en) * 2008-11-26 2015-09-01 Red Hat, Inc. Supporting multiple name servers in a software provisioning environment
US8782204B2 (en) 2008-11-28 2014-07-15 Red Hat, Inc. Monitoring hardware resources in a software provisioning environment
US8775578B2 (en) * 2008-11-28 2014-07-08 Red Hat, Inc. Providing hardware updates in a software environment
US8832256B2 (en) * 2008-11-28 2014-09-09 Red Hat, Inc. Providing a rescue Environment in a software provisioning environment
US8402123B2 (en) 2009-02-24 2013-03-19 Red Hat, Inc. Systems and methods for inventorying un-provisioned systems in a software provisioning environment
US9727320B2 (en) 2009-02-25 2017-08-08 Red Hat, Inc. Configuration of provisioning servers in virtualized systems
US8413259B2 (en) * 2009-02-26 2013-04-02 Red Hat, Inc. Methods and systems for secure gated file deployment associated with provisioning
US8892700B2 (en) * 2009-02-26 2014-11-18 Red Hat, Inc. Collecting and altering firmware configurations of target machines in a software provisioning environment
US8990368B2 (en) 2009-02-27 2015-03-24 Red Hat, Inc. Discovery of network software relationships
US9411570B2 (en) * 2009-02-27 2016-08-09 Red Hat, Inc. Integrating software provisioning and configuration management
US8640122B2 (en) * 2009-02-27 2014-01-28 Red Hat, Inc. Systems and methods for abstracting software content management in a software provisioning environment
US9558195B2 (en) 2009-02-27 2017-01-31 Red Hat, Inc. Depopulation of user data from network
US8572587B2 (en) 2009-02-27 2013-10-29 Red Hat, Inc. Systems and methods for providing a library of virtual images in a software provisioning environment
US8135989B2 (en) * 2009-02-27 2012-03-13 Red Hat, Inc. Systems and methods for interrogating diagnostic target using remotely loaded image
US9940208B2 (en) 2009-02-27 2018-04-10 Red Hat, Inc. Generating reverse installation file for network restoration
US8667096B2 (en) * 2009-02-27 2014-03-04 Red Hat, Inc. Automatically generating system restoration order for network recovery
US8417926B2 (en) 2009-03-31 2013-04-09 Red Hat, Inc. Systems and methods for providing configuration management services from a provisioning server
US20100298011A1 (en) * 2009-05-19 2010-11-25 Alcatel-Lucent Usa Inc. Method and Appartus for Remote Software Installation and Execution on a Mobile Device
US9250672B2 (en) 2009-05-27 2016-02-02 Red Hat, Inc. Cloning target machines in a software provisioning environment
US9134987B2 (en) 2009-05-29 2015-09-15 Red Hat, Inc. Retiring target machines by a provisioning server
US9047155B2 (en) * 2009-06-30 2015-06-02 Red Hat, Inc. Message-based installation management using message bus
CN101616024B (en) * 2009-07-16 2012-07-04 中兴通讯股份有限公司 Method and system of service opening/blocking
US8489685B2 (en) 2009-07-17 2013-07-16 Aryaka Networks, Inc. Application acceleration as a service system and method
US20110099378A1 (en) * 2009-10-26 2011-04-28 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
US8825819B2 (en) * 2009-11-30 2014-09-02 Red Hat, Inc. Mounting specified storage resources from storage area network in machine provisioning platform
US10133485B2 (en) * 2009-11-30 2018-11-20 Red Hat, Inc. Integrating storage resources from storage area network in machine provisioning platform
US8886186B2 (en) 2010-01-22 2014-11-11 Telefonaktiebolaget L M Ericsson (Publ) Verification of compatibility among telecommunication network features
EP2360871B1 (en) * 2010-02-15 2016-04-06 Accenture Global Services Limited Machine to machine architecture
CN102244604B (en) * 2010-05-11 2015-11-25 华为终端有限公司 A kind of method for controlling quality of service of home gateway and home gateway and system
US8140899B2 (en) * 2010-05-24 2012-03-20 Hewlett-Packard Development Company, L.P. Method and system for diagnosing a computer system
US9407718B2 (en) * 2010-07-01 2016-08-02 Broadcom Corporation Method and system for service discovery and deployment in an IP multimedia network
US20120150808A1 (en) * 2010-12-13 2012-06-14 Verizon Patent And Licensing Inc. Method and system for performing data backup and restoration
EP2525528A1 (en) * 2011-05-17 2012-11-21 Alcatel Lucent Method for providing a service in a communication network
CN102158498B (en) * 2011-05-26 2013-09-18 东南大学 Implementation method for network node structure supporting service customization and expansion
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US8504542B2 (en) 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
US8595322B2 (en) 2011-09-12 2013-11-26 Microsoft Corporation Target subscription for a notification distribution system
US9208476B2 (en) 2011-09-12 2015-12-08 Microsoft Technology Licensing, Llc Counting and resetting broadcast system badge counters
US8694462B2 (en) * 2011-09-12 2014-04-08 Microsoft Corporation Scale-out system to acquire event data
US20130116947A1 (en) * 2011-11-09 2013-05-09 Zafer Sahinoglu Method and System for Detecting Unbalance in Power Grids
US9240971B2 (en) * 2011-11-16 2016-01-19 LabTech, LLC Automated management of generalized central name services by distributed remote devices
JP5799855B2 (en) * 2012-03-02 2015-10-28 富士通株式会社 Service providing method, program, and information processing apparatus
US8964995B2 (en) 2012-09-07 2015-02-24 International Business Machines Corporation Acoustic diagnosis and correction system
US8893269B1 (en) * 2012-09-28 2014-11-18 Emc Corporation Import authorities for backup system
RU2526754C2 (en) * 2012-09-28 2014-08-27 Закрытое акционерное общество "Лаборатория Касперского" System and method for selecting mobile device control functions
US9571529B2 (en) 2013-03-15 2017-02-14 Avaya Inc. Browser-based communications enhanced with enterprise communication features
US9285948B2 (en) 2013-03-15 2016-03-15 Assima Switzerland Sa System and method for interface display screen manipulation
US9282489B2 (en) 2013-05-17 2016-03-08 Avaya Inc. Media escalation with use of endpoint adapter
US9246752B2 (en) * 2013-06-18 2016-01-26 International Business Machines Corporation Ensuring health and compliance of devices
US11157664B2 (en) 2013-07-09 2021-10-26 Oracle International Corporation Database modeling and analysis
US9805070B2 (en) 2013-07-09 2017-10-31 Oracle International Corporation Dynamic migration script management
US9747311B2 (en) 2013-07-09 2017-08-29 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US9967154B2 (en) * 2013-07-09 2018-05-08 Oracle International Corporation Advanced customer support services—advanced support cloud portal
US10776244B2 (en) 2013-07-09 2020-09-15 Oracle International Corporation Consolidation planning services for systems migration
US9996562B2 (en) 2013-07-09 2018-06-12 Oracle International Corporation Automated database migration architecture
US11288346B1 (en) * 2014-03-03 2022-03-29 Charles Schwab & Co., Inc. System and method for authenticating users using weak authentication techniques, with differences for different features
US20150278771A1 (en) * 2014-03-25 2015-10-01 David Milman Systems and methods for managing distributed sales, service and repair operations
US11570065B2 (en) 2014-04-09 2023-01-31 Convida Wireless, Llc Service enabler function
US9538366B2 (en) 2014-08-06 2017-01-03 T-Mobile Usa, Inc. Systems and methods of remotely controlling mobile device settings and functionality
US10200258B2 (en) 2014-08-14 2019-02-05 Juniper Networks, Inc. Transaction integrity for network services configuration
US9830603B2 (en) 2015-03-20 2017-11-28 Microsoft Technology Licensing, Llc Digital identity and authorization for machines with replaceable parts
US9553990B2 (en) * 2015-05-29 2017-01-24 Oracle International Corporation Recommended roster based on customer relationship management data
US9973483B2 (en) * 2015-09-22 2018-05-15 Microsoft Technology Licensing, Llc Role-based notification service
US10430240B2 (en) 2015-10-13 2019-10-01 Palantir Technologies Inc. Fault-tolerant and highly-available configuration of distributed services
US10228926B2 (en) * 2016-01-28 2019-03-12 T-Mobile Usa, Inc. Remote support installation mechanism
US11036696B2 (en) 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US9998551B1 (en) 2016-10-24 2018-06-12 Palantir Technologies Inc. Automatic discovery and registration of service application for files introduced to a user interface
US10042620B1 (en) 2016-11-03 2018-08-07 Palantir Technologies Inc. Approaches for amalgamating disparate software tools
US10001982B1 (en) 2016-12-16 2018-06-19 Palantir Technologies, Inc. Imposing a common build system for services from disparate sources
US10700922B2 (en) * 2016-12-29 2020-06-30 Pismo Labs Technology Limited Methods and systems for restarting one or more components of a network device based on conditions
US10263845B2 (en) 2017-05-16 2019-04-16 Palantir Technologies Inc. Systems and methods for continuous configuration deployment
US10353699B1 (en) 2017-06-26 2019-07-16 Palantir Technologies Inc. Systems and methods for managing states of deployment
US10419274B2 (en) * 2017-12-08 2019-09-17 At&T Intellectual Property I, L.P. System facilitating prediction, detection and mitigation of network or device issues in communication systems
US10728438B1 (en) * 2018-05-31 2020-07-28 Amazon Technologies, Inc. Distributed video and network camera management
US10558454B2 (en) 2018-06-04 2020-02-11 Palantir Technologies Inc. Constraint-based upgrade and deployment
US20220171368A1 (en) * 2019-03-02 2022-06-02 Abb Schweiz Ag Systems and methods for controller diagnostics and service
US11016784B2 (en) 2019-03-08 2021-05-25 Palantir Technologies Inc. Systems and methods for automated deployment and adaptation of configuration files at computing devices
EP3726810B1 (en) * 2019-04-16 2023-12-06 ABB Schweiz AG System and method for interoperable communication of automation system components
RU192190U1 (en) * 2019-05-20 2019-09-06 ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ Военная академия Ракетных войск стратегического назначения имени Петра Великого МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ DEVICE FOR SIMULATION OF MASS SERVICE SYSTEM
US11256671B2 (en) 2019-09-13 2022-02-22 Oracle International Corporation Integrated transition control center

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018792A1 (en) * 2000-09-07 2003-01-23 Fujitsu Limited Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same
US20070223523A1 (en) 2006-03-27 2007-09-27 Motorola, Inc. Method and apparatus for customization of network services and applications

Family Cites Families (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69113077T2 (en) 1990-02-15 1996-05-30 Digital Equipment Corp Model-based deductive system for network fault diagnosis.
US5777549A (en) * 1995-03-29 1998-07-07 Cabletron Systems, Inc. Method and apparatus for policy-based alarm notification in a distributed network management environment
US5761288A (en) * 1995-06-05 1998-06-02 Mitel Corporation Service context sensitive features and applications
US5883956A (en) * 1996-03-28 1999-03-16 National Semiconductor Corporation Dynamic configuration of a secure processing unit for operations in various environments
US6040834A (en) * 1996-12-31 2000-03-21 Cisco Technology, Inc. Customizable user interface for network navigation and management
US5877766A (en) 1997-08-15 1999-03-02 International Business Machines Corporation Multi-node user interface component and method thereof for use in accessing a plurality of linked records
US6122639A (en) * 1997-12-23 2000-09-19 Cisco Technology, Inc. Network device information collection and change detection
US6138122A (en) * 1998-03-02 2000-10-24 Agilent Technologies Modeling of internet services
JP3974705B2 (en) * 1998-03-20 2007-09-12 富士通株式会社 Network service management method
US6317438B1 (en) * 1998-04-14 2001-11-13 Harold Herman Trebes, Jr. System and method for providing peer-oriented control of telecommunications services
CN1218241C (en) * 1998-05-07 2005-09-07 三星电子株式会社 Method and apparatus for universally accessible command and control information in network
US6336138B1 (en) * 1998-08-25 2002-01-01 Hewlett-Packard Company Template-driven approach for generating models on network services
US6286047B1 (en) 1998-09-10 2001-09-04 Hewlett-Packard Company Method and system for automatic discovery of network services
US6614781B1 (en) * 1998-11-20 2003-09-02 Level 3 Communications, Inc. Voice over data telecommunications network architecture
JP3653660B2 (en) * 1999-01-11 2005-06-02 富士通株式会社 Network management method and network management system
US6742141B1 (en) * 1999-05-10 2004-05-25 Handsfree Networks, Inc. System for automated problem detection, diagnosis, and resolution in a software driven system
US6343287B1 (en) * 1999-05-19 2002-01-29 Sun Microsystems, Inc. External data store link for a profile service
JP3715132B2 (en) * 1999-05-21 2005-11-09 三菱電機株式会社 Data relay apparatus and data relay method
GB2368692B (en) * 1999-06-25 2003-02-12 Jacobs Rimell Ltd Automated provisioning system
US6442542B1 (en) * 1999-10-08 2002-08-27 General Electric Company Diagnostic system with learning capabilities
US7117526B1 (en) * 1999-10-22 2006-10-03 Nomadix, Inc. Method and apparatus for establishing dynamic tunnel access sessions in a communication network
US6615367B1 (en) * 1999-10-28 2003-09-02 General Electric Company Method and apparatus for diagnosing difficult to diagnose faults in a complex system
WO2001041039A2 (en) 1999-12-02 2001-06-07 Secure Computing Corporation Security management system in an heterogenous network environment
CN1128531C (en) * 1999-12-30 2003-11-19 国际商业机器公司 Plug-in type service transmission platform
US6650949B1 (en) * 1999-12-30 2003-11-18 General Electric Company Method and system for sorting incident log data from a plurality of machines
US7293087B2 (en) * 2000-01-21 2007-11-06 Scriptlogic Corporation Event-based application for performing configuration changes in a networked environment
FI112433B (en) * 2000-02-29 2003-11-28 Nokia Corp Location-related services
US7143152B1 (en) * 2000-03-31 2006-11-28 Verizon Laboratories Inc. Graphical user interface and method for customer centric network management
EP1304007A1 (en) * 2000-05-26 2003-04-23 Cegetel Groupe Method for interactive exchange between a subscriber identification module co-operating with a terminal in a radiotelephone, and a local device
US6611863B1 (en) * 2000-06-05 2003-08-26 Intel Corporation Automatic device assignment through programmable device discovery for policy based network management
US7693976B2 (en) 2000-07-11 2010-04-06 Ciena Corporation Granular management of network resources
US7496652B2 (en) * 2000-07-17 2009-02-24 Teleservices Solutions, Inc. Intelligent network providing network access services (INP-NAS)
US6874011B1 (en) * 2000-07-31 2005-03-29 Cisco Technology, Inc. Scalable IP-based notification architecture for unified messaging
US7146535B2 (en) * 2000-08-04 2006-12-05 Sun Microsystems, Inc. Product knowledge management
EP1332578A4 (en) 2000-10-16 2006-12-20 Goahead Software Inc Techniques for maintaining high availability of networked systems
US6679899B2 (en) 2000-10-20 2004-01-20 Ethicon Endo-Surgery, Inc. Method for detecting transverse vibrations in an ultrasonic hand piece
US20020082818A1 (en) * 2000-10-31 2002-06-27 Glenn Ferguson Data model for automated server configuration
US6920615B1 (en) * 2000-11-29 2005-07-19 Verizon Corporate Services Group Inc. Method and system for service-enablement gateway and its service portal
US7814194B2 (en) 2000-12-07 2010-10-12 International Business Machines Corporation Method and system for machine-aided rule construction for event management
US6857075B2 (en) * 2000-12-11 2005-02-15 Lucent Technologies Inc. Key conversion system and method
EP1217709A1 (en) * 2000-12-22 2002-06-26 ABB Schweiz AG Method and device for assessing the stability of an electric power transmission network
US6973494B2 (en) * 2000-12-29 2005-12-06 Bellsouth Intellectual Property Corporation System and method for bi-directional mapping between customer identity and network elements
US7013461B2 (en) * 2001-01-05 2006-03-14 International Business Machines Corporation Systems and methods for service and role-based software distribution
US6947989B2 (en) * 2001-01-29 2005-09-20 International Business Machines Corporation System and method for provisioning resources to users based on policies, roles, organizational information, and attributes
US20040054670A1 (en) * 2001-02-07 2004-03-18 Jacob Noff Dynamic object type for information management and real time graphic collaboration
US20020120746A1 (en) 2001-02-23 2002-08-29 Basavaraj Patil Method and system for providing a service
US6966015B2 (en) * 2001-03-22 2005-11-15 Micromuse, Ltd. Method and system for reducing false alarms in network fault management systems
DE60226714D1 (en) 2001-04-12 2008-07-03 Research In Motion Ltd System and method for dynamically shifting information to wireless data communication devices
US20020158899A1 (en) * 2001-04-30 2002-10-31 Robert Raymond Portal system and method for managing resources in a networked computing environment
US7233933B2 (en) 2001-06-28 2007-06-19 Microsoft Corporation Methods and architecture for cross-device activity monitoring, reasoning, and visualization for providing status and forecasts of a users' presence and availability
US7031967B2 (en) * 2001-08-06 2006-04-18 Sun Microsystems, Inc. Method and system for implementing policies, resources and privileges for using services in LDAP
US20030084135A1 (en) * 2001-09-28 2003-05-01 Sanjai Narain Middleware for communications networks
US20030105761A1 (en) 2001-11-21 2003-06-05 Mikael Lagerman Historic network configuration database
US20030110250A1 (en) * 2001-11-26 2003-06-12 Schnitzer Jason K. Data Normalization
US6766364B2 (en) * 2002-01-15 2004-07-20 Telcordia Technologies, Inc. Template based configuration and validation of a network for enabling a requested service to be compatible with the previously enabled services
US7343365B2 (en) * 2002-02-20 2008-03-11 Microsoft Corporation Computer system architecture for automatic context associations
US20040215711A1 (en) * 2002-03-14 2004-10-28 Openwave Systems Inc. Mobile services platform architecture
US20040019672A1 (en) 2002-04-10 2004-01-29 Saumitra Das Method and system for managing computer systems
US7013149B2 (en) * 2002-04-11 2006-03-14 Mitsubishi Electric Research Laboratories, Inc. Environment aware services for mobile devices
US20040003058A1 (en) 2002-06-26 2004-01-01 Nokia, Inc. Integration of service registration and discovery in networks
US7243306B1 (en) * 2002-07-17 2007-07-10 International Business Machines Corporation Service descriptor for a multitier compute infrastructure
US20040039803A1 (en) * 2002-08-21 2004-02-26 Eddie Law Unified policy-based management system
US7240325B2 (en) * 2002-09-11 2007-07-03 International Business Machines Corporation Methods and apparatus for topology discovery and representation of distributed applications and services
US7558847B2 (en) * 2002-09-13 2009-07-07 Intelliden, Inc. System and method for mapping between and controlling different device abstractions
US7665125B2 (en) * 2002-09-23 2010-02-16 Heard Robert W System and method for distribution of security policies for mobile devices
US7949737B2 (en) 2002-11-04 2011-05-24 Riverbed Technology, Inc. Method and apparatus for grouping nodes based on connection characteristics
US8051176B2 (en) 2002-11-07 2011-11-01 Hewlett-Packard Development Company, L.P. Method and system for predicting connections in a computer network
WO2004061681A1 (en) * 2002-12-26 2004-07-22 Fujitsu Limited Operation managing method and operation managing server
US7478151B1 (en) 2003-01-23 2009-01-13 Gomez, Inc. System and method for monitoring global network performance
US20050276229A1 (en) * 2003-03-31 2005-12-15 Mohammad Torabi Service discovery method in a network
US7231377B2 (en) * 2003-05-14 2007-06-12 Microsoft Corporation Method and apparatus for configuring a server using a knowledge base that defines multiple server roles
US7757261B2 (en) 2003-06-20 2010-07-13 N2 Broadband, Inc. Systems and methods for providing flexible provisioning architectures for a host in a cable system
FR2858900B1 (en) * 2003-08-12 2006-01-06 Cit Alcatel PROVIDING RESOURCE RESERVATION SERVICES WITHIN A RESOURCE MANAGEMENT COMMUNICATIONS NETWORK THROUGH POLICY RULES
US8069415B2 (en) * 2003-09-30 2011-11-29 International Business Machines Corporation System and method for generating perspectives of a SAN topology
US7433327B2 (en) * 2003-10-09 2008-10-07 Hewlett-Packard Development Company, L.P. Method and system for coordinating communication devices to create an enhanced representation of an ongoing event
US20060179116A1 (en) * 2003-10-10 2006-08-10 Speeter Thomas H Configuration management system and method of discovering configuration data
US7716357B2 (en) * 2003-10-24 2010-05-11 Microsoft Corporation Service discovery and publication
US7093032B2 (en) * 2003-10-28 2006-08-15 General Electric Company System and method for multi-vendor authentication to remotely activate a software-based option
US7350115B2 (en) * 2003-12-18 2008-03-25 Intel Corporation Device diagnostic system
US7502793B2 (en) * 2004-02-10 2009-03-10 International Business Machines Corporation Method and apparatus for assigning roles to devices using physical tokens
US7480736B2 (en) 2004-04-12 2009-01-20 Emerson Network Power - Embedded Computing, Inc. Method of discovering and operating a payload node
US20050256818A1 (en) * 2004-04-30 2005-11-17 Xerox Corporation Workflow auto generation from user constraints and hierarchical dependence graphs for workflows
SE528102C2 (en) * 2004-05-11 2006-09-05 Smarttrust Ab Procedures and systems for detecting appliances.
DE102004024262A1 (en) * 2004-05-15 2005-12-01 Daimlerchrysler Ag Knowledge-based diagnostic system for a complex technical system with two separate knowledge bases for processing technical system data and processing customer complaints
US20050278309A1 (en) * 2004-06-02 2005-12-15 Perry Evans System and method for mining and searching localized business-marketing and informational data
WO2006031812A2 (en) * 2004-09-13 2006-03-23 Comcast Cable Holdings, Llc Method and system of managing subscriber access to services associated with service provider
US7561515B2 (en) * 2004-09-27 2009-07-14 Intel Corporation Role-based network traffic-flow rate control
JP4845467B2 (en) 2004-11-08 2011-12-28 株式会社エヌ・ティ・ティ・ドコモ Device management apparatus, device, and device management method
US20060123393A1 (en) * 2004-12-02 2006-06-08 Brian Atkins User interface for network application
US8612408B2 (en) * 2004-12-21 2013-12-17 Bmc Software, Inc. System and method for business service management
US7555408B2 (en) * 2004-12-22 2009-06-30 International Business Machines Corporation Qualifying means in method and system for managing service levels provided by service providers
US7743137B2 (en) * 2005-02-07 2010-06-22 Microsoft Corporation Automatically targeting notifications about events on a network to appropriate persons
KR100717166B1 (en) * 2005-02-16 2007-05-11 삼성전자주식회사 Service framework for A Home network
EP1705832A3 (en) * 2005-03-22 2011-08-03 Hewlett-Packard Development Company, L.P. Device profile retrieval in a management network
US20060265508A1 (en) * 2005-05-02 2006-11-23 Angel Franklin J System for administering a multiplicity of namespaces containing state information and services
US7493234B2 (en) * 2005-05-10 2009-02-17 International Business Machines Corporation Monitoring and reporting normalized device system performance
US20070016638A1 (en) * 2005-06-30 2007-01-18 Ian Elbury System and method of application provisioning
US7590935B2 (en) * 2005-07-08 2009-09-15 Microsoft Corporation Dynamic generation of WSDL documents based on database metadata
US7788352B2 (en) * 2005-07-14 2010-08-31 Yahoo! Inc. System and method for servicing a user device
KR200398853Y1 (en) 2005-07-22 2005-10-17 씨아이주식회사 A snow-chain
US20070025341A1 (en) * 2005-07-28 2007-02-01 Texas Instruments Incorporated Device, system and/or method for provisioning a device in a packet network
US8291405B2 (en) * 2005-08-30 2012-10-16 Novell, Inc. Automatic dependency resolution by identifying similar machine profiles
US7487236B2 (en) 2005-10-04 2009-02-03 Alcatel Lucent Management of tiered communication services in a composite communication service
US8701017B2 (en) * 2005-11-18 2014-04-15 Alcatel Lucent System and method for representation of presentity presence states for contacts in a contact list
US20070118881A1 (en) * 2005-11-18 2007-05-24 Julian Mitchell Application control at a policy server
US20070129145A1 (en) * 2005-12-05 2007-06-07 Wms Gaming Inc. Directory service in a service-oriented gaming network environment
US20070150934A1 (en) * 2005-12-22 2007-06-28 Nortel Networks Ltd. Dynamic Network Identity and Policy management
WO2007073252A1 (en) 2005-12-22 2007-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Provisioning of user information
US8621549B2 (en) * 2005-12-29 2013-12-31 Nextlabs, Inc. Enforcing control policies in an information management system
US20070156872A1 (en) * 2005-12-30 2007-07-05 Stoyanova Dimitrina G Method and system for Web services deployment
KR101234391B1 (en) * 2006-03-24 2013-02-18 텔레폰악티에볼라겟엘엠에릭슨(펍) Generic access performance abstraction for access selection
US7539907B1 (en) 2006-05-05 2009-05-26 Sun Microsystems, Inc. Method and apparatus for determining a predicted failure rate
US20070294364A1 (en) * 2006-06-15 2007-12-20 International Business Machines Corporation Management of composite software services
US7519711B2 (en) * 2006-06-15 2009-04-14 International Business Machines Corporation Method for middleware assisted system integration in a federated environment
US7496893B2 (en) * 2006-06-15 2009-02-24 International Business Machines Corporation Method for no-demand composition and teardown of service infrastructure
US20070290831A1 (en) * 2006-06-16 2007-12-20 Fmr Corp. Configuring actionable alerts
DK2044747T3 (en) 2006-06-30 2016-12-19 ERICSSON TELEFON AB L M (publ) Technique for providing access to a media resource connected to a network detected devices
US7774463B2 (en) * 2006-07-25 2010-08-10 Sap Ag Unified meta-model for a service oriented architecture
US7965703B2 (en) 2006-08-07 2011-06-21 Time Warner Cable, Inc. System and method for establishing and enforcing service rules in a service provider network
US7664022B2 (en) 2006-08-29 2010-02-16 Cingular Wireless Ii, Llc Policy-based service management system
US7689583B2 (en) * 2006-09-11 2010-03-30 Microsoft Corporation Flexible data presentation enabled by metadata
US8166515B2 (en) * 2006-10-30 2012-04-24 Microsoft Corporation Group policy for unique class identifier devices
US8060913B2 (en) * 2006-11-02 2011-11-15 Nokia Corporation Policy execution
US8869233B2 (en) * 2006-12-22 2014-10-21 Verizon Patent And Licensing Inc. Policy management within a network management system
US8307404B2 (en) 2007-04-16 2012-11-06 Microsoft Corporation Policy-management infrastructure
US8046585B2 (en) 2007-05-31 2011-10-25 Red Hat, Inc. Verifying authenticity of an attribute value signature
AU2008258222C1 (en) 2007-06-06 2013-11-07 Datavalet Technologies Remote service access system and method
US7739243B2 (en) * 2007-08-01 2010-06-15 International Business Machines Corporation System and method for dynamically configuring a multiplatform computing environment
US20090083765A1 (en) 2007-09-20 2009-03-26 Microsoft Corporation Accessing device-hosted services from scripting and other programming environments
US8964726B2 (en) * 2008-10-01 2015-02-24 Twilio, Inc. Telephony web event system and method
US8051381B2 (en) 2008-12-22 2011-11-01 Whirlpool Corporation Appliance with a graphical user interface for configuring an accessory
US9223617B2 (en) 2010-05-06 2015-12-29 Nec Laboratories America, Inc. Methods and systems for migrating networked systems across administrative domains

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018792A1 (en) * 2000-09-07 2003-01-23 Fujitsu Limited Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same
US20070223523A1 (en) 2006-03-27 2007-09-27 Motorola, Inc. Method and apparatus for customization of network services and applications

Also Published As

Publication number Publication date
US20090132693A1 (en) 2009-05-21
WO2009067710A3 (en) 2009-10-01
WO2009067712A2 (en) 2009-05-28
EP2215774A2 (en) 2010-08-11
EP2215776B1 (en) 2018-05-16
US8533021B2 (en) 2013-09-10
US20090292664A1 (en) 2009-11-26
US20090132324A1 (en) 2009-05-21
US20090132685A1 (en) 2009-05-21
WO2009067715A1 (en) 2009-05-28
WO2009067707A2 (en) 2009-05-28
WO2009067709A2 (en) 2009-05-28
CN102084620A (en) 2011-06-01
CN101919205B (en) 2013-07-17
US8059565B2 (en) 2011-11-15
CN102037680B (en) 2014-12-10
CN102067520B (en) 2015-09-30
CN102067519A (en) 2011-05-18
US20090132684A1 (en) 2009-05-21
WO2009067714A2 (en) 2009-05-28
US8631108B2 (en) 2014-01-14
EP2220815A1 (en) 2010-08-25
WO2009067709A3 (en) 2009-09-17
WO2009067704A2 (en) 2009-05-28
CN102084620B (en) 2015-09-30
US8181066B2 (en) 2012-05-15
WO2009067714A3 (en) 2009-12-10
US8527889B2 (en) 2013-09-03
EP2220816A1 (en) 2010-08-25
US20090132709A1 (en) 2009-05-21
US8949393B2 (en) 2015-02-03
CN101919205A (en) 2010-12-15
US20090129292A1 (en) 2009-05-21
EP2215774B1 (en) 2012-04-25
EP2215776A2 (en) 2010-08-11
CN102037680A (en) 2011-04-27
CN102067517A (en) 2011-05-18
US20090132323A1 (en) 2009-05-21
EP2215777A2 (en) 2010-08-11
EP2215778B1 (en) 2012-01-04
CN102067517B (en) 2015-11-25
ATE540503T1 (en) 2012-01-15
US20090132710A1 (en) 2009-05-21
US20090128319A1 (en) 2009-05-21
EP2215775A1 (en) 2010-08-11
CN102067518A (en) 2011-05-18
WO2009067705A1 (en) 2009-05-28
CN102067520A (en) 2011-05-18
US8321807B2 (en) 2012-11-27
US20090132317A1 (en) 2009-05-21
US20090133098A1 (en) 2009-05-21
WO2009067710A2 (en) 2009-05-28
US8850598B2 (en) 2014-09-30
WO2009067707A3 (en) 2009-09-24
US20090132945A1 (en) 2009-05-21
WO2009067704A3 (en) 2009-08-27
US8468237B2 (en) 2013-06-18
ATE555571T1 (en) 2012-05-15
EP2215778A2 (en) 2010-08-11
US20090132678A1 (en) 2009-05-21
WO2009067712A3 (en) 2009-09-24
US20090132859A1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
US8631108B2 (en) Application and method for generating automated offers of service and service management system incorporating the same

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880122618.8

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08853077

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2008853077

Country of ref document: EP