EP0970429A2 - Distributed service network - Google Patents

Distributed service network

Info

Publication number
EP0970429A2
EP0970429A2 EP98954080A EP98954080A EP0970429A2 EP 0970429 A2 EP0970429 A2 EP 0970429A2 EP 98954080 A EP98954080 A EP 98954080A EP 98954080 A EP98954080 A EP 98954080A EP 0970429 A2 EP0970429 A2 EP 0970429A2
Authority
EP
European Patent Office
Prior art keywords
region
network
user
communications
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP98954080A
Other languages
German (de)
English (en)
French (fr)
Inventor
Joseph Jean-Paul Denis Trudeau
Arthur Julian Patterson Craddock
Ramzan A. Khuwaja
Steve Michael Armstrong
Eric Walter Parsons
Ian Alexander Macfarlane
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Ltd
Nortel Networks Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CA002220580A external-priority patent/CA2220580A1/en
Priority claimed from CA002220579A external-priority patent/CA2220579A1/en
Priority claimed from CA002220578A external-priority patent/CA2220578A1/en
Priority claimed from CA002220641A external-priority patent/CA2220641A1/en
Priority claimed from US09/041,130 external-priority patent/US6310889B1/en
Application filed by Nortel Networks Ltd, Nortel Networks Corp filed Critical Nortel Networks Ltd
Publication of EP0970429A2 publication Critical patent/EP0970429A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • 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

Definitions

  • the present invention relates to a distributed service network. More specifically, the present invention relates to a network which provides communications and other services to fixed, mobile and nomadic users in a manner which is transparent to external service providers and users.
  • the present invention also relates to a reconfigurable distributed service network which provides communications components and user services to fixed, mobile and nomadic users in a manner which is transparent to external service providers and users and which can have services and/or components added and removed, as desired, during operation of the network.
  • the present invention also relates to a data stream conversion system and method which converts a data stream from a first format to a desired format.
  • the present invention also relates to a method of servicing data access requests from users connected to a distributed service network wherein the data access requests are serviced independent of the actual connection point and communications client employed.
  • middleware can be configured to provide the desired interconnectivity for many specific situations
  • the long sought goal of communication from any client or service to any other client between any two locations is still largely an unachieved goal.
  • a region for use in a distributed telecommunications network comprising: at least one region server including at least one transducer operable to convert an input data stream in a first format to an output data stream in a second data format and a communications host operable to communicate with other region servers in said distributed telecommunications network via a communications backbone; at least one bridge connected to said at least one region server and operable to establish connections with communications clients; at least one adapter connected to said at least one region server, said adapter operable to connect to an external service and to permit communications between said external service and said at least one region server; and a region manager connected to each of said at least one region servers and operable to determine the type of a communications client connected to said region and to select a region server and a bridge connected thereto to maintain a connection with said communications client, and wherein data received from either of said external service and said communications client which is in a first data format incompatible with the other of said external service and said communications client is converted to a
  • a distributed service network comprising at least two regions connected by a communications backbone, each said region comprising: at least one region server including at least one transducer operable to convert an input data stream in a first format to an output data stream in a second data format and a communications host operable to communicate with other region servers in said distributed telecommunications network via a communications backbone; at least one bridge connected to said at least one region server and operable to establish connections with communications clients; at least one adapter connected to said at least one region server, said adapter operable to connect to an external service and to permit communications between said external service and said at least one region server; and a region manager connected to each of said at least one region servers and operable to determine the type of a communications client connected to said region and to select a region server and a bridge connected thereto to maintain a connection with said communications client, and wherein data received from either of said external service and said communications client which is in a first data format incompatible with the other of said external service and said communications client
  • the present invention provides a novel distributed service network which allows users to access telecommunications and other external services from any access point in the network. These services are provided transparently to the user and are also provided transparently to the service provider.
  • the network can be customized for each type of client, using parameters known for that client, and can be customized for each user's preferences. Communications through the network are independent of the transport protocol employed, as all protocol, data, API, etc. conversions are automatically performed by a data conversion system and/or adapters in the network. Also, the network and its services are transparent as to where the user connects to the network.
  • a region for use in a reconfigurable distributed telecommunications network comprising: at least one region server including at least one transducer operable to convert an input data stream in a first format to an output data stream in a second data format and a communications host operable to communicate with other region servers in said distributed telecommunications network via a communications backbone; at least one bridge or other component connected to said at least one region server and operable to establish connections with communications clients; at least one adapter connected to said at least one region server, said adapter operable to connect to a service and to permit communications between said service and said at least one region server; and a region manager connected to each of said at least one region servers and maintaining a record indicative of the services and components available on each of said at least one region servers, said region manager operable to determine the type of a communications client connected to said region and to select from said record a region server and a bridge or other component connected thereto to service a connection with said communications client.
  • a reconfigurable distributed service network comprising at least two regions connected by a communications backbone, each said region comprising: at least one region server including at least one transducer operable to convert an input data stream in a first format to an output data stream in a second data format and a communications host operable to communicate with other region servers in said distributed telecommunications network via a communications backbone; at least one bridge connected to said at least one region server and operable to establish connections with communications clients; at least one adapter connected to said at least one region server, said adapter operable to connect to an external service and to permit communications between said external service and said at least one region server; and a region manager connected to each of said at least one region servers and maintaining a record indicative of the services and components available on each of said at least one region servers, said region manager operable to determine the type of a communications client connected to said region and to select from said record a region server and a bridge or other component connected thereto to service a connection with said communications client.
  • the present invention provides a novel reconfigurable distributed network and method of operating such a network which allows components and services to be added and/or removed from the network while the network is in operation. Further, the present invention provides a novel reconfigurable distributed network and method of operating such a network which allows balancing of the utilization of components and/or licensed capabilities, both within a network region, and between network regions. Components and services can be added as new components and services become available and/or components and services can be removed for preventative maintenance or reconfiguration, etc. without requiring the network or network region to be taken off line.
  • a method of processing data access requests of users connected to a reconfigurable distributed service network comprising a plurality of interconnected network regions each comprising at least one region server, said users employing at least one of a plurality of types of communications clients and said network connected to a plurality of services, comprising the steps of:
  • a data stream conversion system comprising: at least two transducers, each operable to receive an input stream of data in a first format and to create an output stream of said data in a format other than said first format; and a transducer matrix switch operable to select at least one of said transducers and to provide said first input stream of data thereto and to receive said output stream of data therefrom, said selection being based upon an input signal to said transducer matrix switch indicating said first format and a desired different data format.
  • a method of converting a data stream transferred between a communication client connecting a user to a distributed service network and a service connected to said network comprising the steps of:
  • a method of servicing data access requests for a user accessing a network via a communications client connected to any one of two or more network regions comprising the steps of:
  • a method of processing data access requests of users connected to a distributed service network comprising the steps of:
  • the present invention provides a data stream conversion system and method which allows communications clients to connect to a network and access any service therefrom, such that the data streams from the service to the communications client are converted to a desired format for the client without requiring specific input from the user of the client.
  • the data conversion system and method receives information relating to the type of communications client, and any user defined preferences for data streams sent thereto, and information relating to the service being accessed through the network. The data conversion system and method then employs one or more transducers to convert the data stream accordingly.
  • the data conversion system and method also employs one or more transducers to convert a data stream received from the communications client from the received format to a format required for the service.
  • a method of processing data access requests from users connected to a distributed service network including multiple connections points comprising the steps of:
  • the present invention provides a novel method of servicing data access requests from users accessing a network with multiple connection points, the services being provided independent of the actual connection point and/or the communication client employed by the user to connect to the network. These method is transparent to the user and to the provider of the accessed service and can be customized for each type of client, using parameters known for that client, and can be customized for each user's preferences for each client. Information relating to the user is copied to and maintained at the connection point to reduce latency and bandwidth requirements through the network.
  • Figure 1 shows a schematic representation of a distributed service network in accordance with the present invention
  • Figure 2 shows a schematic representation of a region in the distributed service network of Figure 1 ;
  • Figure 3 shows a schematic representation of the replication of a personal agent from a home region in a distributed service network to a persistent cache in a remote region in that network.
  • a distributed service network in accordance with an embodiment of the present invention is indicated generally at 14 in Figure 1.
  • the types of data carried by network 14 is not particularly limited and can include analog and/or digital voice, computer network communications, email, messages for paging systems, etc. and, as will be apparent from the discussion below, network 14 can simultaneously carry multiple types of data, as desired.
  • network 14 comprises one or more regions 18, each of which comprises a region manager 22 and one or more region servers 24.
  • Each region manager 22 is connected to each region server 24 in its region 18 and each region server 24 is connected to other region servers 24, both those in its region 18 and those in other regions 18, by a communications backbone 28, which can be any suitable communications link, such as T3 lines, high bandwidth fibre optic links, satellite links, etc. or any combination of suitable links.
  • each region server 24 includes a suitable communications host 32 for communications backbone 28 and a plurality of bridges 36 to which clients 40 of network 14 can be connected by dedicated telecommunications lines, dial-up access, wireless services, a public packet network such as the internet, or any other suitable means.
  • Figure 1 shows three region servers 24 in each region 18, but it is contemplated that the number of region servers 24 will vary according to contemplated load for the region and/or the services provided at the region. It is 5 contemplated that at least one region 18 will be created for each geographic area where it is desired to provide a local "point of presence" where a client 40 can connect to network 14. However, network 14 is very flexible and it is also contemplated that two or more regions 18 can be located in a single geographic area with a relatively high number of clients 40, etc., if desired, and in such a circumstance, regions 18 and their respective region servers 24 can be interconnected via backbone
  • region managers 22 can perform load and/or service balancing between regions 18.
  • region servers 24 include a data stream conversion system comprising set 44 of transducers 46 and a transducer matrix switch 48 to convert data streams between various formats, protocols and standards as required. Region servers 24 also include a set
  • adapters and service agents which can communicate with other external services and/or networks 56, such as the internet, to communicate with servers running POP3, SMTP, etc., to perform email tasks, faxing, web browsing, etc.
  • format or "data format” are intended to comprise any representation of data.
  • digitized speech can comprise one format of data, a color image in a GIF file format another, a black and white image in
  • data stream is intended to comprise any collection, logical arrangement or grouping of data, including one or more data files, data packets, streams of data such as digital voice, multimedia, or interactive processes, etc.
  • Each adapter in set 52 provides a layer of transparency between the protocols and/or API's
  • the adapter operates to convert between service specific protocols or APIs and a generic protocol understood by the region server 24.
  • region server 24 communicates with an adapter 52 for email via a generic "get” and “store” protocol and that adapter 52 can convert between this generic protocol and an IMAP4 email protocol.
  • the region server 24 and services local to that region server need to convert between service specific protocols or APIs and a generic protocol understood by the region server 24.
  • region server 24 communicates with an adapter 52 for email via a generic "get" and "store” protocol and that adapter 52 can convert between this generic protocol and an IMAP4 email protocol.
  • Clients 40 can comprise a wide variety of telecommunications and/or computing devices including, without limitation, personal computers, cellular or PCS handsets, pagers, wireless-
  • PDAs personal digital assistants
  • any other device or system which requires voice or data telecommunications services any other device or system which requires voice or data telecommunications services.
  • Region manager 22 includes a database engine 38, which maintains a variety of information regarding the users of network 14 and which maintains a registry of information relating to clients 40 which can connect to network 14. This client registry includes information on how to establish and maintain a connection to each client 40, as well as the capabilities and limitations of each client 40. Region manager 22 monitors each region server 24 to perform load balancing between region servers 24, and to manage the establishment of connections, as described below in more detail.
  • a connection referred to herein as a preliminary connection, is established between the client and one of bridges 36.
  • the region server 24 which is connected to the bridge 36 to which the preliminary connection has been made notifies the region manager 22 which determines the type of client 40.
  • the bridge 36 with which the preliminary connection is established will implicitly identify to the region manager 22 the type of client 40.
  • region manager 22 and the bridge 36 with which the preliminary connection is established must determine the type of client 40 employed with the connection, such as a digital voice telephone, analog voice telephone, WEB browser, etc. This determination can be effected by analyzing initialization procedures, by querying the client 40, or by any other suitable method as will occur to those of skill in the art.
  • region manager 22 checks the client registry in database engine 38 for the characteristics of client 40 and ensures that the preliminary connection is transferred to an appropriate bridge 36, either at the region server 24 to which the preliminary connection was originally made, or to another region server 24, as appropriate.
  • the selection of which region server 24 is to handle the connection can be based upon a number of criteria, including the present workload of each of the region servers 24, the type of client 40, etc.
  • one or more region servers may be configured with specific hardware or otherwise optimized to handle connections to http browser clients 40 and another for voice mail.
  • region manager 22 can transfer control of the connection, if appropriate, to a different region server 24 in region 18 transparently to the user.
  • This verification can comprise: an explicit step, such as the user inputting a user ID and password; or an implicit step, such as the connection being to a known address, such as an IP address or DN (directory number); etc. and can be performed by the region manager 22, or one or more region servers 24 within region 18 which have capacity allocated for this task.
  • the former alternative is illustrated and verification information is compared to information in database engine 38 to verify the identity of the user. Once the identity of the user has been verified, the preliminary connection becomes a -incomplete connection and data access requests from the user are serviced.
  • a personal agent for the user is accessed from database engine 38, onto a server 24.
  • the personal agent maintains a record, referred to herein as a user profile, of the services to which the user subscribes, user preferences for various possible client devices employed by that user and any other preferences of the user as well as billing information for the user.
  • the personal agent also provides access to all relevant services data for user data access requests, including Email services for the user, passwords and user identifications for other services, etc. While the use of a personal agent is presently preferred, network 14 is not limited to the use of a personal agent, and user profiles and related information can be stored in network 14 in any suitable manner as will occur to those of skill in the art.
  • the verification is performed by either: consulting a registry of users maintained in database engine 38 to identify the home region 18 of the user; by sending a query to a centralized user registry server (not shown) which is connected to network 14 via communications backbone 28, or by sending a query from the connected (local) region manager 22 to the region managers 22 of neighboring regions 18 via backbone 28 to locate the database engine 38 with required information to verify the user.
  • the query is relayed to additional regions 18 until either the home region 18 is identified. If at any point it is determined that the user is not an authorized user for network 14, the preliminary connection between client 40 and bridge 36 is terminated.
  • the personal agent at the home region 18 can be accessed, via communication backbone 28, by the remote region 18 or the personal agent can be replicated to the local region 18 from the home region 18, via back bone 28.
  • the determination of whether to access the personal agent via backbone 18 or whether to replicate the personal agent at the remote region 18 is based upon a suitable preselected quality of service (QoS) metric and can include a consideration of: the communications latency between the remote region 18 and the home region 18 over communications backbone 28; the length of the time the user is expected to require access to the data at the local region 18; the amount of data the user requires access to; and other relevant factors as will occur to those of skill in the art.
  • QoS quality of service
  • the entire personal agent is not necessarily replicated and, preferably, only information which is immediately required, or which is likely to be required imminently, is replicated to reduce the transfer and/or storage of unnecessary data.
  • the replication of the personal agent in a local region 18 is stored in a persistent cache, as will be described in more detail below.
  • region manager 22 and bridge 36 determine what type of client 40 is communicating with bridge 36. This information is used to identify the entry for that client in the client registry and the characteristics of that client, including its requirements, capabilities and limitations are provided to transducer matrix switch 48, as are the characteristics of the type of service being accessed which is determined from the adapter 52 making the connection to the service. The user profile is also accessed to determine any user specified preferences for that type of client.
  • Transducer matrix switch 48 arranges, configures and/or connects one or more transducers 46 in set 44, as necessary, to convert between the data formats (types and/or protocols) employed by client 40 and the data formats employed by the service being accessed. If no single transducer 46 exists in set 44 which can effect the necessary conversion, then transducer matrix switch 48 will chain two or more transducers 46 together, with the output of one transducer being the input to the next, to accomplish the necessary conversion.
  • transducer matrix switch 48 receives an input from bridge 36 as to the format employed by client 40 and receives an input from set of adapters 52 as to the data format employed by the external service and these two inputs are used as indices to a look up table, or ordered set, in matrix switch 48 of all possible conversions.
  • the indicated entry in this table defines the required transducer 46, or combination of transducers 46, to effect the desired conversion.
  • the conversion look up table is updated accordingly.
  • two or more transducers 46, or chains of transducers 46 can be employed in parallel. For example, a Group IV facsimile message can be received by one of set 52 of adapters for access by a PCS telephone client 40.
  • a first transducer 46 can be employed to perform an optical character recognition (OCR) conversion from the facsimile format to ASCII text format and then a pair of transducers 46 can simultaneously examine the resulting text, one to locate to locate the facsimile sender's name and/or telephone number, and the other to locate the subject matter of the facsimile from a "subject" line.
  • OCR optical character recognition
  • the located "from” and "subject" information is then sent to the user's PCS telephone, in accordance with the client registry information for PCS clients and the users preferences for that client, from the user's profile.
  • transducers 46 in order to efficiently utilize transducers 46, they can be implemented within a multi-threaded architecture. In this case, every transducer 46 is always available as the architecture will essentially maintain a pool of threads for use. 5
  • a touch tone response transducer 46 and a text to speech transducer 46 are selected and configured by transducer matrix switch 48 and portions of the email messages will be read to the user.
  • transducer matrix switch 48 Depending upon the preferences and/or set-up defined by the user for the client
  • the user can be provided with the email in a variety of manners.
  • the user can be provided with a prompt, via the text to speech transducer 46, informing the user of the number of new Email messages which have been received and/or the messages or their subject lines can be read to the user via the text to speech transducer 46.
  • a touch tone response transducer 46 can allow the user to select messages of
  • a speech recognition transducer 46 can also be employed, either in instead of or in addition to, the touch tone response transducer 46.
  • the user can dictate responses to Email, etc.
  • the user can have set their preferences in their personal agent or user profile such that they are only informed of the number of new email messages, and their time of receipt.
  • the user's personal agent or user profile can include different preferences for each service when delivered on each different client 40. For example, when the user connects to network 14 via a dial up line with a personal computer running an email program as client 40, the user's email will be fully available to them from the email program in a conventional manner, rather than being read to them via text to speech transducer 46. If that
  • transducers 46 can be chained, as necessary, by transducer matrix switch 48 to provide required conversions. For example, if a user wishes to access a web page from
  • transducer matrix switch 48 can employ an HTML to ASCII transducer to receive the HTML definition of the web page and to convert it to ASCII text which would then be passed to a text to speech transducer 46 to convert that ASCII text to speech that the user can receive on their telephone.
  • speech recognition or touch tone response transducers can be employed to receive input from the user as to hot links to be followed or other inputs desired.
  • Set 44 of transducers 46 and transducer matrix switch 48 provide transparent conversion of services within network 14. It is contemplated that, at least to some extent, all services will be transparent or accessible, in accordance with user defined preferences stored in the users' personal agents and that such transparency will not require any steps on the part of the service provider. For example, a user can define that only a count of new Email messages received be sent to their pager, or that a count of all new messages received and the subject lines of messages marked urgent be downloaded, etc. and yet the sender of the email message need not concern themselves with such details.
  • region servers 24 in a region 18 can have different transducers 46 in their set 44.
  • a region server 24 can have one or more transducers 46 for text to speech conversions which require special purpose hardware in region server 24.
  • only one region server 24 in a region 18 may be equipped with such special purpose hardware and a connection to a client 40 which requires a text to speech transducer 46 can be transferred, as necessary, by matrix transducer switch 48 in the region server 24 handling the connection to a region server 24 in another region 18 which has the necessary transducer 46.
  • the determination of which other region server 24 has the necessary transducer 46 can be determined, for example, by consulting a table of this information which is maintained in each region manager 22 or by any other suitable means, as will be apparent to those of skill in the art.
  • network 14 can also perform transport protocol conversions as well.
  • An adapter in set 52 can receive data in one transport protocol and can forward it to another adapter in set 52 wherein it is re-transmitted via another transport protocol.
  • data can be received via TCP/IP by a first adapter in set 52 and transmitted from a second adapter in ATM or Frame Relay protocol. It is contemplated that set 52 can also include encryption and/or decryption engines as well.
  • transducers 46 can be employed to perform protocol conversions and/or encryption and decryption if desired. It is also contemplated that set of adapters 52 and/or set 44 of transducers can provide API's for legacy logging and billing subsystems to facilitate record keeping for Internet service providers (ISP's), telephone companies, cellular telephone companies, etc. As mentioned above, there is preferably a personal agent defined for each user which accomplishes several tasks. For example, the personal agent provides access to the information necessary to identify the user to network 14, by a user ID and password, a known IP address, a pager number, a cellular EIN, etc.
  • ISP Internet service providers
  • the personal agent can provide access to information such as account and/or password information for third party services to which the user subscribes. For example, for the user can subscribe to a stock quotation and information service which requires the user to identify themselves to the service before being allowed to access the desired the information. While such uses of the personal agent provide convenience to the user, in not having to remember account numbers, passwords, etc., the personal agent can in fact do much more.
  • the user can instruct their personal agent to perform a variety of tasks, ranging from the simple to the quite sophisticated.
  • the user can have defined that their personal agent contact the above-mentioned stock quotation service once every hour to determine the current price of one or more stocks and, if the prices reach a certain price, to contact the user in a defined manner, such as by sending them an email, or paging them, providing them with a synthesized voice message in a voice mailbox or by contacting them on their analog cellular 5 telephone.
  • set 44 of transducers 46 and transducer matrix switch 48 will be employed, as necessary, in contacting the user via an appropriate client 40, such as by employing a text to speech transducer 46 to provide them with a voice notification on their cellular telephone. It will be apparent to those of skill in the art that a personal agent is not service specific and a personal agent for a user is available for any service available to the user. Thus, it is contemplated
  • each user can have a single personal agent for all tasks. It is also contemplated that a computer-based graphical user interface will be available to users to allow them to select and define tasks for their personal agents which tasks are then transferred to the personal agent via network 14. The construction and operation of such a PC-based interface, or other suitable means for defining tasks and options for a personal agent, will be apparent to those of skill in the art.
  • the present invention includes a persistent caching system for personal agents.
  • the home region 18a for a user includes a master personal agent 80 stored in database engine 38a.
  • master personal agent 80 is replicated, as replicated personal agent
  • master personal agent 80 is always updated by a replicated personal agent 80r to reflect all changes and some changes which occur at master personal agent 80 are automatically updated to replicated personal agent 80r.
  • a user can connect to remote region 18b and the region manager in region 18b locates the master personal agent 80 for the user in region 18a, the user's home region.
  • replicated personal agent 80r for the user is transferred to region 18b from region 18a and is employed to verify the identity of the user. At this point, depending upon the activities of the user, a variety of transfers can occur between the persistent cache in database engine 38b of region 18b and master personal agent 80. If the user merely places a voice mail message in another user's voice mail box, a billing entry can be added to replicated personal agent 80r and an update transferred to master personal agent 80 to reflect this billing entry.
  • the user can conduct an email session, reading, replying, deleting and creating various messages as desired.
  • the user's inbox and address list will be replicated at personal agent 80r and appropriate updates transmitted to master personal agent 80 to flag messages as having been read and/or to remove messages which have been deleted and to update the address list to reflect any changes made by the user.
  • those messages are sent in a conventional manner and placed in the user's outbox in the persistent cache and updates are sent to master personal agent 80 to be placed in the users' outbox therein. Any email messages received at master personal agent 80 can be automatically replicated to replicated personal agent 80r, if desired.
  • this replication technique can also be employed for GSM voice services to accommodate the Home Location Registry and the Visitor Location Registry employed therein.
  • data will be transferred from a personal agent (either master personal agent 80 or replicated personal agent 80r) to a client 40 and subsequently changed in that client 40.
  • master personal agent 80 can be updated to reflect those changes, either directly or via an update from replicated personal agent 80r.
  • a list of telephone numbers can be downloaded into a client 40 such as a personal digital assistant (PDA) or cellular telephone and the user can subsequently add, delete or amend entries in that list.
  • PDA personal digital assistant
  • the copy of that list in master personal agent 80 is updated from client 40 to reflect the additions, deletion and amendments made by the user.
  • the operation of the persistent cache is transparent to the user and is employed to enhance performance of network 14 by reducing latency time, and in conjunction with the replication strategies, to reduce bandwidth consumption too, where possible.
  • the persistent cache can employ any suitable caching strategy, as will occur to those of skill in the art, but it is contemplated that a FIFO (first in first out) strategy will be employed wherein replicated personal agents 80r in the persistent cache are ranked according to their age in the cache and, when a portion of the cache must be flushed, the oldest entries are removed.
  • This strategy can be enhanced by also tracking for each entry in the persistent cache whether its corresponding master personal agent 80 has been accessed at the home region 18a, or replicated to another remote region, after the last access time of the replicated personal agent 80r in the persistent cache. Replicated personal agents 80r at a region 18b whose corresponding master personal agents 80 have been accessed or replicated since the last access to the replicated personal agent 80r, are flushed from the cache in region 18b.
  • Regions 18 have been constructed of components which are implemented in software, where appropriate, or which have software interfaces which allow for easy upgrading, enhancement and to provide "hot-plugability", i.e.- the ability to add or remove services and/or hardware while network 14 is in operation.
  • bridges 36 comprise the necessary hardware to establish connections to client 40 and comprise a software- implemented control which manages the communication with region servers 24.
  • database engine 38 includes a suitable database engine and a software-implemented control which manages the persistent cache and other functions of the database engine 38.
  • Set 44 of transducers 46, and transducer matrix switch 48 also comprise software-implemented components which either control hardware and/or firmware to perform their necessary functions, or which perform these functions themselves.
  • set 52 of adapters and service agents include the necessary hardware to perform appropriate communications tasks and a software-implemented control which manages and controls these tasks.
  • these software-implemented controls are constructed as Java servlets, Java Beans and Java Enterprise Beans, as documented in Sun's JavaSoft Java Servlet documentation and in the Java VI .1 documentation and inter-servlet communications is accomplished by way of Java's RMI services, also documented therein.
  • a wrapper has been added the conventional Java servlets to provide rapid synchronous and asynchronous communications.
  • the wrapper extends the functionality of the servlets from their conventional http-based "post" and “get” API to a fully functional asynchronous messaging API by which messages can be sent to any servlet and received from any servlet via a sustained connection, or by a connection which is asynchronous.
  • a servlet extended with this wrapper can communicate synchronously with any other servlet (extended or non-extended) and can also communicate asynchronously with any other extended servlet.
  • the wrapper comprises methods which the servlet must implement. The first method is "perform()" which is the synchronous event handler.
  • the second method is "performAsynchO" which is the asynchronous event handler. This method returns a "FutureReply" placeholder object as soon as possible.
  • event processing is complete, the method then sends an asynchronous reply event to the caller servlet.
  • the FutureReply placeholder includes a unique identifier which allows the receiving servlet to match a subsequently received reply event to the original event. With this method, the caller servlet is free to perform other processing while the event is being processed.
  • events comprise an identifier of type String, an argument, which can be any Object, and a Session. Because more than one servlet can send an event to an extended servlet, a Session, which is an object that includes a unique identification, is provided to assist the extended servlet in processing synchronous events by allowing the servlet to identify the ordering of events.
  • Java servlets, Java Beans, Java Enterprise Beans and the Java RMI interface is presently preferred for implementing the software components of network 14, it will be apparent to those of skill in the art that the present invention is not limited to such an implementation and CORBA (Common Object Request Broker) or other suitable implementations can be employed, in part or in whole, if desired.
  • CORBA Common Object Request Broker
  • regions 18 can have components added or removed while the network is in operation, without requiring network 14 to be shut down with the result that network 14 is scalable and network 14, regions 18 and region servers 24 remain operational while such component changes are being effected.
  • additional bridges.36 or different transducers 46 can be added to or removed from a region 18 as desired.
  • new services and/or capabilities can also be added to regions 18 and merely requires that appropriate servlets be registered in the regions 18. This also allows for physical components to be serviced without affecting network 14 or regions 18.
  • Services and capabilities can also be loaded over network 18. For example, when a region 18 is started up, the services, adapters, gateways and transducers can be loaded onto region 18 over the network from other regions 18 or from a data base maintained for that purpose on network 18.
  • the components and services can also be loaded on demand from a specific region 18 or region server 24 within a region 18 when required. These services, etc. can be executed remotely for a region 18 or actually loaded into the region 18 and executed locally, as discussed below.
  • a layer of indirection is employed between components of region 18 and requests for services of these components.
  • region manager 22 maintains a record, or availability list, indicating the available components within a region 18 and each request for services of a component is made by accessing this list to determine the available components. To add new components and/or services to a region 18, an appropriate addition is made to this availability list when the component/service is available. To remove a component for preventative maintenance, etc., the component is removed from the availability list and the component can be removed or taken off line when it has completed its present task.
  • the availability list described above is only one possible manner in which a determination of the components available within a region 18 and/or other regions 18 can be accomplished and the present invention is not limited to the use of such a list.
  • a region 18 may include one or more text to speech transducers 46 which rely upon special purpose hardware or software which is capable of performing (or which is only licensed to perform) a fixed number of simultaneous transformations.
  • the service list can identify services/components which are to be employed before others and can also refer to components/service in other regions which can be accessed via communications backbone 28.
  • additional requests for text to speech transfo ⁇ nations can be referred, via references in the service list, to another region 18 which has similar special purpose hardware, or which has additional licenses.
  • the service list can instead indicate an alternative transducer 46 which is less efficient than the licensed system, and which can be employed only once all of the special purpose hardware transducers 46 are occupied. In this manner, requests for text to speech are met and the license, if any, is not exceeded and/or utilization of hardware is improved. As will be apparent, if a transducer 46 is not fully occupied, region manager 22 can permit other regions 18 to employ the surplus capacity, by reporting available capacity to these other regions 18 via backbone 28, thus permitting efficient use of the hardware and/or licensed capacity of network 14.
  • each region server 24 can be monitored by the region manager 22 and the service list can be appropriately updated by the region manager 22 to indicate that components at under utilized region servers 24 be employed before similar components at regions servers 24 with higher utilization levels.
  • region manager 22 maintain the service list for all components available in a region 18, it is also contemplated that in some circumstances service lists may be maintained at each region server 24 for some or all services provided therein. For example, it is contemplated that one or more region servers 24 maintain a list of transducers 46 available at the region server 24.
  • a request can be sent to other region servers 24, either directly or via region manager 22, via communications backbone 28 for access to the required component or a service list indicating services available at other regions 18 can be maintained in each region manager 22 and consulted, as needed, to determine where a service is available.
  • Region manager 22 can then either have the service remotely executed by another region 18 or can download the service, via network 14, onto a region server 24 in region 18 for execution thereon.
  • Another advantage of network 14 is its ability to provide tunneling for IP addresses (or similar addressing schemes). Specifically, many network security models include the recognition of a user's IP address, as contained in the IP header on each IP packet, as part of the security model.
  • IP packets sent by a salesman trying to access his employers' network from a remote location will have a different IP address, once the packet is routed, than they would when sent from the salesman's home location, and the messages will thus be refused by the employers' network.
  • IP packets are "tunneled" between the home region and the remote region.
  • a packet sent from the remote region will be sent as an encapsulated packet to the home region, to preserve its IP address, and the home region will de-encapsulate the received packet and forward it to the desired service with the original IP header/address intact.
  • packets received at the home region from the service will be encapsulated and sent to the remote region where they will be de-encapsulated and transmitted to the user.
  • This tunneling is performed transparently to the user whenever a user connects to a remote region and is presently believed to provide significant advantages for users of networks employing IP address-based security models.
  • the present invention provides a novel distributed network which allows users to access telecommunications and other services from any access point in the network. These services are provided transparently to the user. For example, the user need take no special steps to access an HTML document from a PCS telephone. These services are also provided transparently to the service provider, for example the author of the HTML document does not need to alter the document to allow a user to access it from a PCS telephone.
  • the network can be customized for each type of client using parameters known for that client as defined in a client registry and can be customized for each user's preferences, as defined in the user's profile. Communications through the network are independent of the transport protocol employed, as all protocol, data, API, etc. conversions are automatically performed by the network. Also, the network and its services are transparent as to where the user connects to the network.
  • the present invention also provides a data stream conversion system and method which allows communications clients to connect to a network and access any service therefrom, such that the data streams from the service to the communications client are converting to a desired format for the client without requiring specific input form the user of the client.
  • the data conversion system and method receives information relating to the type of communications client, and any user defined preferences for data sent thereto, and information relating to the service being accessed through the network and/or any service defined preferences for that communications client.
  • the data conversion system and method then employs one or more transducers to convert the data stream accordingly, both to and from the communications client.
  • the data conversion system and method also employs one or more transducers to convert a data stream received from the communications client from the received format to a format required for the service.
  • the present invention also provides a novel method of servicing data access requests from users accessing a network with multiple connection points, the services being provided independent of the actual connection point and/or the communication client employed by the user to connect to the network. Further, new services can be added to the network as desired and distributed storage of user information, user data, and other data is provided and access to such information from any network connection point is provided.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
EP98954080A 1997-11-10 1998-11-09 Distributed service network Withdrawn EP0970429A2 (en)

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
US41130 1979-05-21
CA2220641 1997-11-10
CA002220580A CA2220580A1 (en) 1997-11-10 1997-11-10 Method of servicing data access requests from users connecting to a distributed service network
CA002220579A CA2220579A1 (en) 1997-11-10 1997-11-10 Reconfigurable distributed service network
CA002220578A CA2220578A1 (en) 1997-11-10 1997-11-10 Distributed service network
CA002220641A CA2220641A1 (en) 1997-11-10 1997-11-10 A data stream conversion system and method
CA2220580 1997-11-10
CA2220579 1997-11-10
CA2220578 1997-11-10
US4112998A 1998-03-12 1998-03-12
US4113198A 1998-03-12 1998-03-12
US41129 1998-03-12
US09/041,128 US6351771B1 (en) 1997-11-10 1998-03-12 Distributed service network system capable of transparently converting data formats and selectively connecting to an appropriate bridge in accordance with clients characteristics identified during preliminary connections
US09/041,130 US6310889B1 (en) 1998-03-12 1998-03-12 Method of servicing data access requests from users
US41128 1998-03-12
US41131 1998-03-12
PCT/CA1998/001047 WO1999025071A2 (en) 1997-11-10 1998-11-09 Distributed service network

Publications (1)

Publication Number Publication Date
EP0970429A2 true EP0970429A2 (en) 2000-01-12

Family

ID=27570286

Family Applications (1)

Application Number Title Priority Date Filing Date
EP98954080A Withdrawn EP0970429A2 (en) 1997-11-10 1998-11-09 Distributed service network

Country Status (5)

Country Link
EP (1) EP0970429A2 (zh)
JP (1) JP2001510667A (zh)
CN (1) CN1122230C (zh)
HK (1) HK1027184A1 (zh)
WO (1) WO1999025071A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1179938A1 (de) * 2000-08-08 2002-02-13 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur zentralen Koordinierung der Datenübertragung zwischen einem sendenden und einem empfangenden Netzelement
US20040039772A1 (en) * 2002-04-25 2004-02-26 De Miguel Angel Boveda Methods and arrangements in a telecommunication network
CN1300979C (zh) * 2003-01-28 2007-02-14 华为技术有限公司 全动态分布式网络服务管理系统及其服务方法
CN100362804C (zh) * 2004-12-06 2008-01-16 华为技术有限公司 一种在下一代网络中进行区域管理的方法和系统
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993023817A1 (en) * 1992-05-08 1993-11-25 Release Management Systems (Rms) Data interchange system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9925071A2 *

Also Published As

Publication number Publication date
JP2001510667A (ja) 2001-07-31
WO1999025071A3 (en) 1999-10-28
CN1250534A (zh) 2000-04-12
CN1122230C (zh) 2003-09-24
WO1999025071A2 (en) 1999-05-20
HK1027184A1 (en) 2001-01-05

Similar Documents

Publication Publication Date Title
US6310889B1 (en) Method of servicing data access requests from users
US6351771B1 (en) Distributed service network system capable of transparently converting data formats and selectively connecting to an appropriate bridge in accordance with clients characteristics identified during preliminary connections
AU744143B2 (en) Messaging application having a plurality of interfacing capabilities
US6938076B2 (en) System, computer product and method for interfacing with a private communication portal from a wireless device
US6421708B2 (en) World wide web access for voice mail and page
US6779022B1 (en) Server that obtains information from multiple sources, filters using client identities, and dispatches to both hardwired and wireless clients
WO1998028892A1 (en) Apparatus and methods for reception and transmission of information using different protocols
JP2003536129A (ja) 専用通信ポータルにおいてワイヤレス命令を処理するためのシステム,コンピュータ製品及び方法
US7383347B2 (en) Method and apparatus for providing extensible scalable transcoding of multimedia content
JP2001094592A (ja) ネットワーク帯域を効率的に使用して移動装置に電子メールサービスを提供する方法及びシステム
WO2002060200A1 (en) Method and system for wireless information exchange and management
JP2984620B2 (ja) 着信通知機能付き電子メールシステム
JP2001503224A (ja) データ網と通信網間の通信方法および装置
EP1519600A2 (en) Providing property data on mobile terminal for services
WO1999025071A2 (en) Distributed service network
US7543028B2 (en) Electronic mail distribution method, communications terminal, and server device
US20020085534A1 (en) Device independent communication system
CA2345288A1 (en) Data link layer manager for network access
CA2275300A1 (en) Distributed service network
JP3610081B2 (ja) ファクシミリサーバシステム及びその制御方法
KR100386642B1 (ko) 메시지 전송용 통지 서비스 및 메시지 전송 방법
KR20010082789A (ko) 통합 메시지 서비스를 위한 메시지 저장 방법 및 시스템
CA2220580A1 (en) Method of servicing data access requests from users connecting to a distributed service network
CA2220579A1 (en) Reconfigurable distributed service network
CA2220641A1 (en) A data stream conversion system and method

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19990706

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB IT

RIN1 Information on inventor provided before grant (corrected)

Inventor name: MACFARLANE, IAN, ALEXANDER

Inventor name: PARSONS, ERIC, WALTER

Inventor name: ARMSTRONG, STEVE, MICHAEL

Inventor name: KHUWAJA, RAMZAN, A.

Inventor name: CRADDOCK, ARTHUR, JULIAN, PATTERSON

Inventor name: TRUDEAU, JOSEPH, JEAN-PAUL, DENIS

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: NORTEL NETWORKS LIMITED

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: NORTEL NETWORKS LIMITED

17Q First examination report despatched

Effective date: 20050308

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20050719