DE60315558T2 - Verteiltes Rechnersystem für Vorrichtungsresourcen basierend auf Identität - Google Patents

Verteiltes Rechnersystem für Vorrichtungsresourcen basierend auf Identität Download PDF

Info

Publication number
DE60315558T2
DE60315558T2 DE60315558T DE60315558T DE60315558T2 DE 60315558 T2 DE60315558 T2 DE 60315558T2 DE 60315558 T DE60315558 T DE 60315558T DE 60315558 T DE60315558 T DE 60315558T DE 60315558 T2 DE60315558 T2 DE 60315558T2
Authority
DE
Germany
Prior art keywords
computing device
computer
identity
resources
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.)
Expired - Lifetime
Application number
DE60315558T
Other languages
English (en)
Other versions
DE60315558D1 (de
Inventor
David Seattle Alles
George M. Issaquah Moore
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of DE60315558D1 publication Critical patent/DE60315558D1/de
Application granted granted Critical
Publication of DE60315558T2 publication Critical patent/DE60315558T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung bezieht sich im allgemeinen auf Computersysteme, und im Speziellen auf Computerressourcen.
  • HINTERGRUND DER ERFINDUNG
  • In frühen Personalcomputersystemen mussten Anwendungsprogramme mit Fachwissen über verschiedene Computergeräte programmiert werden, damit die Anwendung solche Geräte verwenden kann. Zum Beispiel, um auf einem bestimmten Drucker zu drucken musste ein Textverarbeitungsprogramm wissen, wie es auf dem Drucker druckt, und lieferte im Allgemeinen einen Treiber für jeden unterstützten Drucker. Alternativ würde ein Drucker Treiber für die gängigsten Programm bereitstellen. Der Benutzer musste jedes Programm konfigurieren, um dieses Programm zu informieren, mit welchem Drucker der Personalcomputer verbunden ist.
  • Heutige Betriebssysteme, wie z.B. Microsoft Windows®, stellten Entwicklern eine Möglichkeit bereit, um Anwendungen mit solchen Geräten zu koppeln, ungeachtet der spezifischen Bedürfnisse und Erfordernisse der Gerätetreiber. Zum Beispiel teilt bei dem Microsoft Windows®-Betriebssystem ein Benutzer oder das Gerät dem Betriebssystem mit, welcher Drucker (oder welche Drucker) verbunden ist (sind), wobei anschließend jede Anwendung in der Lage ist, mit dem Druckertreiber über das Betriebssystem zu kommunizieren. Als ein Ergebnis mussten Anwendungsprogramme sich gewöhnlich nur mit einer Reiche von standardisierten Druckfunktionen, die durch das Betriebssystem bereitgestellt wurden, befassen, um das Drucken zu bewerkstelligen. Die enormen Vorteile solch einer Abstraktion können nicht unterbewertet werden, z.B., ermöglicht diese Abstraktion irgendeinem von Trausenden von Softwareprogrammen, mit irgendeinem von Tausenden von Druckern und/oder anderen Geräten zu interagieren, ohne dass das Programm die Details über den Druck im Voraus wissen muss (oder anderweitig bereitstellen muss).
  • Die .NET-Technologie von Microsoft Corporation bietet einen etwas ähnlichen Abstraktionstyp mit Bezug auf die Daten eines Benutzers oder einer Firma. Im allgemeinen kann mit der .NET-Technologie irgendein .NET-geeignetes Programm auf irgendeinem Gerät mit den Daten eines Benutzers über zentralisierte, schema-basierte Dienste interagie ren. Aufgrund der Schematisierung brauchen die Programme kein spezifisches Wissen über die Details dieser Daten, welche, z.B. in proprietären Dateiformaten gespeichert worden sind, sondern braucht nur in der Lage sein, mit (dem Lesen und Schreiben von) Daten, die gemäß einem oder mehreren Schemas formatiert sind, umzugehen.
  • Mit der .NET-Technologie steuert die Identität eines Benutzers (oder einer anderen Einheit) den Zugriff auf zentral vorgehaltene Daten, z.B. kann ein Benutzer einen .NET-Postfachdienst nutzen, der seine oder ihre elektronischen Maildaten zentral gespeichert hält (z.B. im Internet oder einem Intranet), und kann anschließend auf diese Daten über den .NET-Postfachdienst zu jeder Zeit von irgendeinem Gerät aus zugreifen, das im Stande ist, sich mit dem Internet oder einem Intranet zu verbinden, und das ein Programm aufweist, das im Stande ist, mit dem .NET-Postfachdienst zu interagieren. Die Identität des Benutzers wird verwendet, um den Benutzer mit den richtigen Daten sicher abzugleichen. Benutzer können ebenso den Zugriff auf Daten durch andere Benutzer regelbar erlauben, z.B. kann ein Benutzer wahlweise bestimmte geschäftliche Kontaktinformationen für Geschäftspartner verfügbar machen, persönliche Kontaktinformationen für Freunde verfügbar machen, und so weiter, alles basierend auf den Identitäten der anderen.
  • Während .NET deshalb gewaltige datenbasierte Vorteile für Benutzer, Firmen und andere Einheiten bietet, sind der zentralisierte Service und die zentralisierten Daten nicht besonders darauf bedacht, wie ein Benutzer verschiedene Geräte und die Ressourcen jener Geräte verwendet. Zum Beispiel waren Geräte wie ein Personalcomputer und Taschencomputer für einige Zeit in der Lage, sich direkt miteinander zu synchronisieren. Zum Teil ist die .NET-Technologie eine andere Möglichkeit, solche Daten synchronisiert zu halten, obwohl es indirekt geschieht, ohne dass spezialisierte und proprietäre Synchronisationsprogramme benötigt werden.
  • Jedoch kann ein Benutzer, selbst mit .NET, nicht einfach ein Gerät verwenden, um auf die Ressourcen eines anderen Gerätes zuzugreifen, wie z.B. die Rechenleistung, den Speicher, die Bandbreite, Eingabe- und Ausgabemechanismen, Programme und/oder andere Ressourcen eines Gerätes im Namen eines anderen Gerätes zu verwenden, z.B. um eine komplexe oder besser geeignete Aufgabe auf dem leistungsfähigeren Gerät durchzuführen. Was benötigt wird, ist eine allgemeine, konsistente Möglichkeit, Computerressourcen von verschiedenen Computergeräten gegenseitig für eine überkreuzende Ressourcenverwendung (cross-resource usage) dezentral (remotely) zu entdecken und darzulegen.
  • EP0952513 offenbart die automatische Konfiguration von einem Druckerserver, um es einem Client zu ermöglichen, den Druckertreiber, der in dem Druckerserver liegt, zu verwenden, um einen Druck auf einem entfernten Drucker durchzuführen.
  • US-A-5 898 870 beschreibt Lastverteilung in einem parallelen Computersystem, das eine Computergruppe, die durch eine Vielzahl von Computern gebildet wird, und einen Betriebsverwaltungsmechanismus aufweist, welcher ein Computer zum Verwalten des Betriebs der Computergruppe ist. Erstens werden Zielwerte für eine Ressourcennutzung pro Arbeitsgang in dem Betriebsverwaltungsmechanismus im Voraus gesetzt, und anschließend informieren die entsprechenden Computer der Computergruppe den Betriebsverwaltungsmechanismus über gesammelte Stati der Ressourcennutzung pro Arbeitsgang. Als Antwort auf eine Anfrage durch einen Computer, um einen Arbeitsprozess neu zu starten, wird der Zielwert für die Ressourcennutzung für den Arbeitsprozess mit dem Status der Ressourcennutzung davon auf einer Statusverwaltungstabelle für Ressourcennutzung verglichen, welche bei der Initialisierung des Systems bei dem Betriebsverwaltungsmechanismus vorbereitet wird. Desweiteren wird einer der Computer aus der Vielzahl von Computern, die die Computergruppe ausmachen, auf der Basis des Ergebnisses des Vergleichs als das optimale System ausgewählt und wird aufgefordert, den Arbeitsprozess auszuführen.
  • US-A-6 078 955 beschreibt ein Verfahren zur Steuerung eines Computersystems einschließlich einer Vielzahl von Computern, die durch ein Netzwerk miteinander verbunden sind und von einer Vielzahl von Nutzern verwendet wird. Das Computersystem schließt mindestens einen Server, einen Administrationsserver und eine Vielzahl von Terminals ein. Der Administrationsserver ist für die Verwaltung aller Computerressourcen und aller Arbeiten, die auf den Computern ausgeführt werden, sowie für die gesamten Benutzerinformationen in den Computersystemen verantwortlich. Der Administrationsserver sammelt und verwaltet Informationen in einer Systemressourcenverwaltungstabelle. Desweiteren, wenn sich ein Benutzer bei einem Terminal an dem System anmeldet, werden die Anmeldeinformationen und die Terminalinformationen, das für die Anmeldung verwendet wurde, an den Administrationsserver gesendet. Nachdem eine Verarbeitungsanfrage von einem Terminal zu dem Administrationsserver gesendet wurde, wird ein Server oder Terminal, welches bewertet wird, in der Lage zu sein, einen gegebenen Prozess am effi zientesten handzuhaben, auf Grund der vorherrschenden Arbeitsbelastung der Server in dem Netzwerk und der Eigenschaft und dem Ort der Datei und des Programms, das für den vorgesehenen Prozess verwendet wird, ermittelt, und der Ausführungsort des Prozesses wird dem entsprechenden Terminal mitgeteilt. Das Terminal fragt anschließend einen Computer entsprechend der Mitteilung an, den Prozess auszuführen.
  • KURZFASSUNG DER ERFINDUNG
  • Es ist die Aufgabe der Erfindung, ein Verfahren und System zum Entdecken und Darlegen von Computerressourcen von verschiedenen Computergeräten einander für eine kreuzweise Ressourcenverwendung bereitzustellen.
  • Diese Aufgabe wird durch die Erfindung wie in den unabhängigen Ansprüchen beansprucht gelöst.
  • Bevorzugte Ausführungsformen sind durch die abhängigen Ansprüche definiert.
  • Kurz beschrieben, bietet die vorliegende Erfindung ein System und Verfahren zum Entdecken und Beschreiben von Computerressourcen, die bei verschiedenen Computergeräten, die mit einer Identität assoziiert sind, verfügbar sind, und zum Darlegen jener Ressourcen als Dienste, die durch Softwareprogramme adressierbar sind, so dass Programme auf den Geräten die Ressourcen eines anderen Gerätes wirksam einsetzen können. Die Gerätedienste sind dadurch identitätsbasiert, dass Geräte eines Gerätebesitzers sich gegenseitig und/oder andere Geräte, auf die durch einen Benutzer basierend auf der Identität des Benutzers oder eines anderen Benutzers zugegriffen werden kann, entdecken. Desweiteren kann, basierend auf der Identität, ein Gerätebesitzer (oder Administrator) steuern, welche anderen Benutzer und/oder anderen Geräte die Ressourcen von jedem, im Besitz befindlichen Gerät wirksam einsetzen können, sowie in welchem Umfang.
  • Computerressourcen können z.B. die Speicherkapazität der Geräte, die Bandbreite, Prozessorleistung (z.B. die CPU- und RAM-Fähigkeiten), die Eingabemechanismen und -verfahren, das Rendern und anderen Ausgabemechanismen und -verfahren (z.B. Bildschirme, Drucker und Audioausgabe), und Programme einschließen. Ein Gerät wird deshalb in seine Ressourcen abstrahiert, welche anschließend von anderen Geräten in einer zusammenstellenden Art und Weise programmatisch adressierbar sind (z.B. können die Remote-Ressourcen auf solche eine Weise definiert sein, dass sie wiederum aus kleineren Ressourcen bestehen, die in der größeren Definition der Ressource enthalten sind). Mit anderen Worten, damit Geräte in einem intelligenten, verteilten Computermodell teilnehmen, sind verschiedene Aspekte von jedem teilnehmenden Gerät abstrahiert und von anderen Geräten programmatisch adressierbar gemacht worden. Ein vereinheitlichter, identitätsbasierter Mechanismus entdeckt die Liste der Remote-Ressourcen auf dem Gerät. Eine Reihe von einem oder mehreren Schemata beschreibt die Remote-Ressourcen auf dem Gerät einheitlich, und ein vereinheitlichtes Sicherheitsmodell erlaubt es dem Benutzer des Gerätes, zu steuern, wer Zugriff auf welche Ressource und in welchem Umfang hat.
  • Mit der vorliegenden Erfindung werden gewünschte Computerlösungen für eine große Anzahl von Beispielszenarien ermöglicht, einschließlich einer Reihe an Echtzeit-Szenarien, in welchen ein Benutzergerät mit einem oder mehreren Remote-Computergeräten in Echtzeit interagiert, und eine Reihe von geplanten oder vorhergesagten Szenerien, die unsichtbar und automatisch im Namen eines Benutzers arbeiten.
  • Andere Vorteile werden von der nachfolgenden detaillierten Beschreibung ersichtlich, wenn sie in Verbindung mit den Figuren genommen wird, in welchen:
  • KURZE BESCHREIBUNG DER FIGUREN
  • 1A ein Blockdiagramm ist, das allgemein ein Computersystem darstellt, in dem die vorliegende Erfindung eingebaut werden kann;
  • 1B ein Blockdiagramm ist, das allgemein ein anderes Computersystem darstellt, in dem die vorliegende Erfindung eingebaut werden kann;
  • 2 ein Blockdiagramm ist, das verschiedene Komponenten in einer verteilten Computerumgebung gemäß einem Aspekt der vorliegenden Erfindung darstellt;
  • 3 ein Blockdiagramm ist, das allgemein eine Architektur zum Entdecken und Austauschen von Ressourceinformationen gemäß einem Aspekt der vorliegenden Erfindung darstellt;
  • 4, 5 Blockdiagramme sind, die Beispiele darstellen, wie die vorliegende Erfindung die Erleben des Computer durch einen Benutzer durch das Verteilen von Computeroperationen auf Ressourcen gemäß einem Aspekt der vorliegenden Erfindung verbessern kann;
  • 6 ein Flussdiagramm ist, das eine beispielhafte Logik und in Beziehung stehende Operationen darstellt, die durchgeführt werden, um die gemeinsame Benutzung von Ressourcen in einer verteilten Computerumgebung gemäß einem Aspekt der vorliegenden Erfindung ermöglicht; und
  • 7 ein Blockdiagramm ist, das allgemein eine Beispielimplementation darstellt, die Ressourcen einschließt, die gemäß einem Aspekt der vorliegenden Erfindung verteilt sind.
  • DETAILLIERTE BESCHREIBUNG
  • Exemplarische Arbeitsumgebung
  • 1A stellt ein Beispiel einer geeigneten Computersystemumgebung 100 dar, auf der die Erfindung implementiert werden kann. Die Computersystemumgebung 100 ist nur ein Beispiel einer geeigneten Computerumgebung, und ist nicht gedacht, irgendeine Einschränkung auf den Umfang der Verwendung oder Funktionalität der Erfindung vorzuschlagen. Noch sollte die Computerumgebung 100 so interpretiert werden, als gäbe es irgendeine Abhängigkeit oder Erfordernis bezüglich irgendeiner Komponente oder einer Kombination von Komponenten, die in der exemplarischen Arbeitsumgebung 100 gezeigt sind.
  • Die Erfindung ist mit vielen anderen Allzweck- oder Spezialzweck-Computersystemumgebungen oder -konfigurationen betriebsbereit. Beispiele von gut bekannten Computersystemen, -umgebungen und/oder -konfigurationen, die für eine Verwendung mit der Erfindung geeignet sind, schließen ein, sind aber nicht darauf begrenzt: Personalcomputer, Servercomputer, tragbare oder Laptopgeräte, Tablet-Geräte, Multiprozessorsysteme, mikroprozessorbasierte Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Mainframecomputer, verteilte Computerumgebungen, die irgendeins der oben genannten Systeme oder Geräte einschließen, und ähnliches.
  • Die Erfindung kann in dem allgemeinen Kontext von Computerausführbaren Instruktionen, wie z.B. Programmmodulen, die durch einen Computer ausgeführt werden, beschrieben werden. Im allgemeinen schließen Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen und so weiter ein, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren. Die Erfindung kann ebenso in verteilten Computerumgebungen praktiziert werden, wo Aufgaben durch Remote-Verarbeitungsgeräte durchgeführt werden, die durch ein Kommunikationsnetzwerk verbunden sind. In einer verteilten Computerumgebung können Programmmodule auf lokalen und/oder Remote-Computerspeicherdatenträgern liegen, einschließlich Datenspeichergeraten.
  • Mit Bezug auf 1A schließt ein exemplarisches System zum Implementieren der Erfindung ein Allzweckcomputergerät in der Form eines Computers 110 ein. Komponenten des Computers 110 können einschließen, sind aber nicht darauf begrenzt, eine Prozessoreinheit 120, einen Systemspeicher 130 und einen Systembus 121, der verschiedene Systemkomponenten einschließlich des Systemspeichers mit der Prozessoreinheit 120 koppelt. Der Systembus 121 kann irgendeiner von verschiedenen Typen von Busstrukturen, einschließlich eines Speicherbusses oder Speichercontrollers, eines Peripheriebusses und eines lokalen Busses, der irgendeine einer Vielfalt von Busarchitekturen verwendet, sein. Als Beispiel, und nicht Einschränkung, schließen solche Architekturen Industry-Standard-Architecture-Bus (ISA-Bus), Micro-Channel-Architecture-Bus (MCA-Bus), Enhanced-ISA-Bus (EISA-Bus), Video-Electronics-Standards-Association-local-Bus (VESA-local-Bus) und Peripheral-Component-Interconnect-Bus (PCI-Bus), ebenso bekannt als Mezzanine-Bus, ein. Es ist zu beachten, dass irgendeines bzw. alle der Elemente, die im Computer 110 gezeigt sind, miteinander durch standardisierte, Hochgeschwindigkeitsnetzwerke verbunden sein können, einschließlich jener, die über ein großes geografisches Gebiet verteilt sind. Zum Beispiel kann der Systemspeicher 130 an einem physikalisch unterschiedlichen Ort als die Prozessoreinheit 120 liegen, ist aber in einer zusammengesetzten Weise als logischer Computer 110 definiert.
  • Der Computer 110 schließt üblicherweise eine Vielfalt von Computerlesbaren Datenträgern ein. Computerlesbare Datenträger können irgendeiner von verfügbaren Datenträgern sein, auf die durch den Computer 110 zugegriffen werden kann, und schließt sowohl flüchte als auch nicht-flüchtige Datenträger und entfernbare und nicht-entfernbare Datenträger ein. Als Beispiel, und nicht Einschränkung, können Computer-lesbare Datenträger Computerspeicherdatenträger und Datenübertragungsträger einschließen. Computerspeicherdatenträger schließen sowohl flüchtige als auch nicht-flüchtige, entfernbare als auch nicht-entfernbare Datenträger ein, die mit irgendeinem Verfahren oder Technologie zum Speichern von Informationen implementiert sind, wie z.B. Computer lesbare Instruktionen, Datenstrukturen, Programmmodule oder andere Daten. Computerspeicherdatenträger schließen ein, sind aber nicht darauf begrenzt, RAM, ROM, EEPROM, Flashmemory oder andere Speichertechnologie, CD-ROM, Digital Versstile Disks (DVD) oder andere optische Diskspeicher, magnetische Kassetten, magnetische Bänder, magnetische Diskspeicher oder andere magnetische Speichergeräte oder irgendein anderer Datenträger, welcher zum Speichern der gewünschten Informationen verwendet werden kann, und auf den durch den Computer 110 zugegriffen werden kann. Datenübertragungsträger verkörpern üblicherweise Computer-lesbare Instruktionen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal, wie z.B. einer Trägerwelle oder anderen Transportmechanismen und schließen irgendwelche Informationsliefermedien ein. Der Begriff „moduliertes Datensignal" bedeutet ein Signal, das eine oder mehrere seiner Charakteristiken in solch einer Weise gesetzt oder verändert hat, dass Informationen in dem Signal kodiert sind. Als Beispiel und nicht Einschränkung, können Datenübertragungsträger verkabelte Datenträger, wie z.B. ein verkabeltes Netzwerk oder eine Direktverkabelte Verbindung, und kabellose Datenträger, wie z.B. Akustik-, RF-(Funk-), Infrarot- und andere kabellose Datenmedien, einschließen. Kombinationen von irgendwelchen der oben genannten sollten in dem Umfang der Computer-lesbaren Datenträger enthalten sein.
  • Der Systemspeicher 130 schließt Computerspeicherdatenträger in der Form von flüchtigem und/oder nicht-flüchtigem Speicher ein, wie z.B. Festwertspeicher (read only memory – ROM) 131 und Schreib-Lesespeicher (random access memory – RAM) 132. Ein Basic-Input/Output-System 133 (BIOS), das die Basisroutinen enthält, die helfen, Informationen zwischen Elementen innerhalb des Computers 110 zu transferieren, wie z.B. während des Hochfahrens, ist üblicherweise in dem ROM 131 gespeichert. Der RAM 132 enthält üblicherweise Daten und/oder Programmmodule, auf die sofort durch die Prozessoreinheit 120 zugegriffen werden kann und/oder auf denen derzeit durch die Prozessoreinheit 120 gearbeitet wird. Als Beispiel, und nicht Einschränkung, stellt die 1A ein Betriebssystem 134, Anwendungsprogramme 135, andere Programmmodule 136 und Programmdaten 137 dar.
  • Der Computer 110 kann ebenso andere entfernbare/nicht entfernbare, flüchtige/nicht-flüchtige Computerspeicherdatenträger einschließen. Nur als Beispiel stellt die 1A ein Festplattenlaufwerk 141, das von oder zu einem nicht entfernbaren, nicht flüchtigen magnetischen Datenträger liest oder schreibt, ein magnetisches Disklaufwerk 151, das von oder zu einer entfernbaren, nicht flüchtigen magnetischen Disk 152 liest oder schreibt, und ein optisches Disklaufwerk 155, das von oder zu einer entfernbaren, nicht flüchtigen optischen Disk 156 liest oder schreibt, wie z.B. einer CD-ROM oder einem anderen optischen Datenträger, dar. Andere entfernbare/nicht-entfernbare, flüchtige/nicht-flüchtige Computerspeicherdatenträger, die in der exemplarischen Arbeitsumgebung verwendet werden können, schließen ein, sind aber nicht darauf begrenzt, magnetische Bandkassetten, Flash-Memorykarten, Digital Versstile Disks, digitale Videobänder, Solid-State-RAM, Solid-State-ROM und ähnliches. Das Festplattenlaufwerk 141 ist üblicherweise mit dem Systembus 121 durch eine Schnittstelle für nicht-entfernbaren Speicher, wie z.B. Schnittstelle 140 verbunden, und das magnetische Disklaufwerk 151 und optische Disklaufwerk 155 sind üblicherweise mit dem Systembus 121 durch eine Schnittstelle für entfernbaren Speicher, wie z.B. Schnittstele 150, verbunden.
  • Die Laufwerke und ihre zugehörigen Computerdatenspeicherträger, die oberhalb diskutiert und in 1A dargestellt sind, bieten Speicherplatz für Computer-lesbare Instruktionen, Datenstrukturen, Programmmodule und andere Daten für den Computer 110. In 1A ist z.B. das Festplattenlaufwerk 141 so dargestellt, dass es das Betriebssystem 144, Anwendungsprogramme 145, andere Programmmodule 146 und Programmdaten 147 speichert. Es ist zu beachten, dass diese Komponenten entweder dieselben sein können oder verschieden sein können von dem Betriebssystem 134, Anwendungsprogrammen 135, anderen Programmmodulen 136 und Programmdaten 137. Das Betriebssystem 144, die Anwendungsprogramme 145, anderen Programmmodule 146 und Programmdaten 147 sind hier verschiedene Nummern gegeben worden, um darzustellen, dass sie wenigstens unterschiedliche Kopien sind. Ein Benutzer kann Befehle und Informationen in den Computer 110 durch Eingabegeräte, wie z.B. ein Tablet, oder elektrischen Digitalisierer 164, ein Mikrofon 163, eine Tastatur 162 und ein Zeigergerät 161, allgemein als Maus, Trackball oder Touchpad bezeichnet, eingeben. Andere Eingabegeräte, die in 1A nicht gezeigt sind, können einen Joystick, ein Gamepad, eine Satellitenschüssel, einen Scanner oder ähnliches einschließen. Diese und andere Eingabegeräte sind oft mit der Prozessoreinheit 120 durch eine Benutzereingabeschnittstelle 160 verbunden, die mit dem Systembus gekoppelt ist, aber können auch durch andere Schnittstellen und Busstrukturen verbunden sein, wie z.B. einen Parallelanschluss, Gameport oder Universal Serial Bus (USB). Ein Monitor 191 oder anderer Typ an Anzeigegerät ist ebenso mit dem Systembus 121 über eine Schnittstelle verbunden, wie z.B. eine Videoschnittstelle 190. Der Monitor 191 kann ebenso mit einem Berührungssensitiven Bildschirmpanel oder ähnlichem integriert sein. Es ist zu beachten, dass der Monitor und/oder das berührungssensitives Bildschirmpanel (touch-screen Panel) physisch an ein Gehäuse, in dem das Computergerät 110 eingebaut ist, gekoppelt sein können, wie z.B. in einem Personalcomputer des Tablet-Typs. Zusätzlich können Computer, wie z.B. das Computergerät 110, andere periphere Ausgabegeräte einschließen, wie z.B. Lautsprecher 195 und Drucker 196, welche durch eine Ausgabeperipherieschnittstelle 194 oder ähnliches verbunden sind.
  • Der Computer 110 kann in einer Netzwerkumgebung unter Verwendung logischer Verbindungen zu einem oder mehreren Remote-Computern, wie z.B. einem Remote-Computer 180, arbeiten. Der Remote-Computer 180 kann ein Personalcomputer, ein Server, ein Router, ein Netzwerk-PC, ein Peer-Gerät oder anderer bekannter Netzwerkknoten sein, und enthält üblicherweise viele oder alle der oben mit Bezug auf Computer 110 beschriebenen Elemente, obwohl nur ein Speicherdatenträgergerät 181 in 1A dargestellt worden ist. Die logischen Verbindungen, die in 1A gezeigt sind, schließen ein Local Area Network (LAN) 171 und ein Wide Area Network (WAN) 173 ein, können aber ebenso andere Netzwerke einschließen. Solche Netzwerkumgebungen sind in Büros, Unternehmensweiten Netzwerken, Intranets und dem Internet alltäglich. Zum Beispiel kann der Computer 110 in der vorliegenden Erfindung eine Quellmaschine (Ursprungsgerät – source machine) umfassen, von welchem Daten migriert werden, und der Remote-Computer 180 kann die Zielmaschine umfassen. Es ist jedoch zu beachten, dass die Quell- und Zielmaschinen nicht durch ein Netzwerk oder andere Mittel verbunden sein müssen, sondern dass stattdessen die Daten über irgendeinen Datenträger migriert werden können, der in der Lage ist, durch die Quellplattform beschrieben zu werden und durch die Zielplattform oder -plattformen gelesen zu werden.
  • Wenn er in einer LAN-Netzwerkumgebung verwendet wird, ist der Computer 110 mit dem LAN 171 über eine Netzwerkschnittstelle oder -adapter 170 verbunden. Wenn er in einer WAN-Netzwerkumgebung verwendet wird, enthält der Computer 110 üblicherweise ein Modem 172 oder andere Mittel zum Herstellen einer Datenübertragung über das WAN 173, wie z.B. das Internet. Das Modem 172, welches intern oder extern sein kann, kann mit dem Systembus 121 über die Benutzereingabeschnittstelle 160 oder anderen geeigneten Mechanismen verbunden sein. In einer Netzwerkumgebung können Programmmodule, die mit Bezug auf Computer 110 dargestellt sind, oder Teile davon in dem Remote-Datenspeichergerät gespeichert sein. Als Beispiel, und nicht Einschränkung, stellt die 1A die Remote-Anwendungsprogramme 185 so dar, dass sie auf dem Speichergerät 181 liegen. Es wird begrüßt, dass die gezeigten Netzwerkverbindun gen exemplarisch sind, und andere Mittel zum Herstellen einer Datenübertragungsverbindung zwischen den Computern verwendet werden können.
  • 1B stellt ein Beispiel einer anderen geeigneten Arbeitsumgebung (Computergerät 188) dar, in dem mindestens ein Teil der vorliegenden Erfindung implementiert werden kann. Wie die 1A ist die Arbeitsumgebung aus 1B nur ein weiteres Beispiel einer geeigneten Arbeitsumgebung und ist nicht gedacht, irgendeine Einschränkung auf den Umfang der Verwendung oder Funktionalität der Erfindung vorzuschlagen. Das andere Computergerät 188 in 1B enthält üblicherweise irgendeine Form von Computerlesbaren Datenträgern. Computer-lesbare Datenträger können irgendwelche verfügbaren Datenträger sein (wie oberhalb allgemein definiert), auf die durch das Computergerät 188 zugegriffen werden kann.
  • 1B zeigt funktionale Komponenten des Computergerätes 188, wie z.B. einen tragbaren (in Taschengröße oder Tablet-)Personal Digital Assistant, der einen Prozessor 189, einen Speicher 190, eine Anzeige 192 und eine Tastatur 193 (welche eine physische oder virtuelle Tastatur sein kann) einschließt. Der Speicher 190 enthält im Allgemeinen sowohl flüchtigen Speicher (z.B. RAM) als auch nicht-flüchtigen Speicher (z.B. ROM, PCMCIA-Karten usw.). Ein Betriebssystem 194 liegt in dem Speicher 190 und wird auf dem Prozessor 189 ausgeführt, wie z.B. das Windows®-CE-Betriebssystem von Microsoft® Corporation oder ein anderes Betriebssystem.
  • Ein oder mehrere Anwendungsprogramme 195 werden in den Speicher 190 geladen und laufen auf dem Betriebssystem 194. Beispiele für Anwendungen schließen E-Mailprogramme, Terminprogramme, PIM-Programme (Personal Information Managementprogramme), Textverarbeitungsprogramme, Tabellenverarbeitungsprogramme, Internetbrowserprogramme usw ein. Der tragbare Personalcomputer 188 kann ebenso einen Benachrichtigungsmanager 196 einschließen, der in den Speicher 190 geladen ist, und welcher auf dem Prozessor 189 ausgeführt wird. Der Benachrichtigungsmanager 196 behandelt Benachrichtigungsanfragen, z.B. von den Anwendungsprogrammen 195.
  • Der tragbare Personalcomputer 188 hat eine Energieversorgung 197, welche als eine oder mehrere Batterien implementiert ist. Die Energieversorgung 197 kann des Weiteren eine externe Energiequelle einschließen, die die eingebauten Batterien außer Kraft setzt oder wieder auflädt, wie z.B. ein Wechselstromadapter oder eine am Strom angeschlossene Basisstation.
  • Der exemplarische tragbare Personalcomputer 188, der in 1B dargestellt ist, wird mit drei Typen von externen Benachrichtigungsmechanismen gezeigt: einer oder mehrerer lichtimitierenden Dioden (LEDs) 198 und einem Audio-Erzeuger 199. Diese Geräte können direkt mit der Stromquelle 197 gekoppelt sein, so dass sie, wenn sie aktiviert werden, für eine Dauer, die durch einen Benachrichtigungsmechanismus vorgegeben wird, eingeschaltet bleiben, selbst wenn der Prozessor 189 des tragbaren Personalcomputers und andere Komponenten heruntergefahren sind, um Batteriestrom zu sparen. Die LED 198 bleibt vorzugsweise unbegrenzt angeschaltet, bis der Benutzer etwas unternimmt. Es ist zu beachten, dass heutige Versionen des Audio-Erzeugers 199 zu viel Energie für die heutigen Batterien von tragbaren Personalcomputern verwenden und deshalb ist er konfiguriert, sich auszuschalten, wenn der Rest des Systems dies tut, oder nach einer begrenzten Dauer nach der Aktivierung.
  • Identitätsbasiertes verteiltes Computing für Geräteressourcen
  • Die vorliegende Erfindung ist im Allgemeinen auf ein System und Verfahren gerichtet, das die Verteilung von Ressourcen von Geräten auf andere Geräte ermöglicht. Die vorliegende Erfindung ist gewöhnlich nicht damit involviert, was die Geräte mit den Ressourcen voneinander machen, was zu dieser Zeit kommuniziert wird oder wie die Kommunikation zwischen den Geräten stattfindet. Die vorliegende Erfindung kann im Allgemeinen eher mehr als eine strukturierte Art und Weise für Geräte betrachtet werden, um etwas über ihre gegenseitigen Ressourcen, Fähigkeiten oder anderen Details herauszufinden, und um es anschließend Geräten zu erlauben, die Ressourcen ohne weitere Hilfe zu teilen. Obwohl es für die vorliegende Erfindung nicht notwendig ist, wird als Teil des Ermöglichens von Ressourcenverteilung die Sicherheit für einen praktischen Zweck bereitgestellt, und mindestens um sicherzustellen, dass gültige Berechtigungsnachweise erfordert werden, um die Ressourcen eines anderen Gerätes zu verwenden. Deshalb ist die vorliegende Erfindung vorzugsweise identitätsbasiert, so dass verteilte Ressourcen Beziehungen entsprechend den Identitätsdaten (z.B. Berechtigungsnachweise), die von den Geräten bereitgestellt werden, miteinander haben.
  • Im Allgemeinen ist die vorliegende Erfindung auf ein verteiltes Computing zwischen Geräten eines Benutzers gerichtet, wobei ein Benutzer (oder Besitzer/Administrator) irgendjemand ist, der autorisiert ist, die Geräte zu steuern und/oder zu verbinden. Weil im Allgemeinen Geräte zunehmend disaggregiert werden, können die hier beschriebenen Verfahren und Systeme jedoch genauer als ein verteiltes Computung von Ressourcen be schrieben werden. Zum Beispiel kann ein einzelnes und verteiltes Gerät aus vielen Ressourcen bestehen, aber kann so wenig wie nur eine seiner Ressourcen teilen (z.B. nur seinen nicht-flüchtigen Speicher), um als ein Ressourcenanbieter teilzunehmen. Dennoch sind die Begriffe „Gerät" und „Ressource", wie sie hier verwendet werden, im Allgemeinen austauschbar, ausgenommen dort, wo es andernfalls offensichtlich ist, z.B. werden das Verwenden eines anderen Gerätes oder das Verwenden einer Ressource des anderen Gerätes, um irgendeine Computeraufgabe auszuführen, im Allgemeinen als dieselbe Sache betrachtet. Ebenso ist, wie hierin verwendet, die Bandbreite eine Geräteressource, obwohl die Bandbreite gewöhnlich nicht als einem bestimmten Gerät zugehörig betrachtet wird.
  • Wie es in 2 allgemein dargestellt ist, schließt eine verteilte Computerumgebung 200, die gemäß verschiedener Aspekte der vorliegenden Erfindung konstruiert wurde, ein erstes Gerät 202 (Gerät A, wie z.B. das Computersystem 110 aus 1A) und ein zweites Gerät 212 (Gerät B, wie z.B. das Computersystem 188 aus 1B) zusammen mit eventuell anderen Geräten (nicht gezeigt) ein. Jedes Gerät, das in der verteilten Computerumgebung 200 teilnimmt, enthält einen Manager, 204 und 214, für verteiltes Computing. Im Allgemeinen, und wie unterhalb beschrieben, können die Manager 204 und 214 für verteiltes Computing einigen Code umfassen, die miteinander über irgendeinen Datenträger, z.B. kabelloses FM (Frequency Modulation), in Sichtweite wie z.B. Infrarot, Satellit, eine direkte Verbindung, das Internet oder ein Intranet kommunizieren. In der Tat kann mehr als ein solcher Datenträger verfügbar sein, und die Manager 204 und 214 für verteiltes Computing können auswählen, welcher oder welche am besten für gegebene Umstände ist/sind.
  • Ein anfänglicher Zweck der Manager 204 und 214 für verteiltes Computing ist, sich gegenseitig zu lokalisieren. Solch eine Lokalisierung kann automatisch sein, z.B. dadurch, dass ein Gerät gelegentlich seine Verfügbarkeit an andere sendet, und/oder durch das Abfragen (Polling) nach der Verfügbarkeit von anderen Geräten, oder kann alternativ als Antwort auf irgendeine spezifische Anfrage von einem Programm (oder Benutzer), sich mit einem anderen Gerät zu verbinden, funktionieren. Wie es in 2 dargestellt ist, enthalten die Manager 204 und 214 für verteiltes Computing jeder einen Sicherheitsmechanismus 206 bzw. 216, die Berechtigungsnachweise 207, 217 oder ähnliches (z.B. von einem Authentifizierungsdienst 220 erlangt) austauschen, um sicherzustellen, dass der Benutzer, der derzeit das Gerät bedient, von welchem es kontaktiert wird (und/oder das Gerät selbst), in der verteilten Computerumgebung zulässig ist, und gleichermaßen, wenn notwendig, dass das Gerät zulässig ist, welches kontaktiert wird. Es ist zu beachten, dass ein Programm, das verwendet wird, ebenso mit in die Sicherheits-/Zugriffskontrolle miteinbezogen wird, z.B. kann ein erstes Programm, das auf einem Gerät läuft, die Berechtigung haben, eine Ressource oder Ressourcen eines anderen Gerätes zu verwenden, aber nicht ein anderes Programm, unabhängig von oder zusätzlich zu der Benutzeridentität und/oder der Geräteidentität. Es ist weiter zu beachten, dass der Sicherheitsmechanismus pro Identität und pro Ressource arbeiten kann, z.B. kann eine Einheit berechtigt sein, ein Display des Gerätes zu verwenden, aber nicht seinen Speicher, während eine andere Einheit imstande sein kann, irgendeine verfügbare Ressource desselben Gerätes, einschließlich seines Speichers, zu verwenden. Dies ist ähnlich zu dem Punkt .NET-Sicherheitsmodell, in welchem Dienste Verfahren bereitstellen, die den Zugriff auf Daten eines Benutzer basierend auf der Identität, der definierten Rolle und des Umfangs für diese Rolle eines anfragenden Benutzers kontrollieren. Auf diese Weise können auf Daten durch ihren Benutzer zugegriffen werden und in einem Umfang, der durch den Besitzer bestimmt wird, geteilt werden. In der vorliegenden Erfindung ist es eine Geräteressource anstatt Daten, auf die zugegriffen wird, wobei die Identifikation eines Benutzers, seine definierte Rolle und der Umfang für diese Rolle das Ausmaß, bis zu dem auf eine Ressource zugegriffen werden kann, bestimmt.
  • In der Tat basieren die Sicherheitsmechanismen der vorliegenden Erfindung auf jenen, im Wesentlichen auf jenen, die für die Sicherheits-/Zugriffskontrolle in .NET-Diensten eingesetzt werden, wie es allgemein in den US-Patentanmeldungen mit den Seriennummern 10/003,754 mit dem Titel „IDENTITY-CENTRIC DATA ACCESS" und der Seriennummer 10/003,767 mit dem Titel „AUTHORIZING A REQUESTING ENTITY TO OPERATE UPON DATA STRUCTURES", die am 22. Oktober 2001 eingereicht wurden und dem Begünstigten der vorliegenden Erfindung zugeordnet sind, beschrieben. Zu diesem Zweck läuft mindestens eine kleine Untermenge der .NET-Dienste auf jedem Gerät, die erwartet, Computerressourcen in der Umgebung 200 anzubieten und zu teilen. Zusätzlich kann ein lokal gebundenes, intern konsistentes Sicherheitsmodell auf diesen Geräten ausgeführt werden, so dass eine lokale Sicherheit selbst dann bereitgestellt wird, wenn zwei lokale Peer-to-Peer-Geräte von dem zentralisierten (z.B. Passport-)Authentifizierungsservice 220 (2) getrennt sind.
  • Die vorliegende Erfindung ist nicht auf irgendein bestimmtes Übertragungsmedium beschränkt, sondern bietet an, dass die verteilten Ressourcedienste für ein Zielgerät direkt adressierbar sind, oder über das Internet oder ein Intranet, wie z.B. über die zentralisier te Reihe an .NET-Diensten im Web, abgefragt werden können. Wenn es mit dem Internet oder dem Intranet verbunden ist, kann ein Programm die letztbekannten verfügbaren Computerressourcen auf irgendeinem Gerät zugehörig zu der Identität des Benutzers abfragen, selbst wenn das Gerät offline oder anderweitig nicht erreichbar ist. Die Bandbreite ist ebenso eine Ressource und kann beeinflussen, wie die Ressourcen eines Gerätes geteilt werden, z.B. kann es effizienter sein, die Ressourcen eines Personalcomputers wirksam einzusetzen, wenn der Personalcomputer eine Hochgeschwindigkeitsverbindung mit dem Internet hat, aber nicht, wenn der Personalcomputer nur mit einer geringen Geschwindigkeit verbunden ist, wie z.B. wenn das andere Gerät eine Hochgeschwindigkeitsverbindung hat. In der Tat kann der Personalcomputer wollen, dass die Hochgeschwindigkeitsverbindung des anderen Gerätes wirksam eingesetzt wird, in welchem Falle dieses andere Gerät dann eine Ressource des Personalcomputers wirksam einsetzen kann, z.B. tauschen die Geräte Ressourcen aus, um ein optimiertes Erlebnis für den Benutzer bereitzustellen.
  • Gemäß einem Aspekt der vorliegenden Erfindung schließen die Manager 204 und 214 für verteiltes Computing ebenso jeder einen jeweiligen Auffindungsmechanismus 208 und 218 ein, die es den Geräten erlauben, geteilte Ressourcen/Fähigkeiten eines anderen teilnehmenden Gerätes aufzudecken, das heißt, wenn dieses andere Gerät konfiguriert ist, seine Ressourcen zu teilen. Die entsprechenden Ressourcendaten 209 und 219 sind formatiert (z.B. in XML) und werden gemäß einem definierten Schema, wie unterhalb beschrieben, ausgetauscht. Wie es in 2 durch den Austausch der Schematisierten Daten 209 und 219 dargestellt ist, sind beide Geräte 202 und 204 konfiguriert, ihre Ressourcen (RA1-RAM und RB1-RBn) mit anderen Geräten in der verteilten Computerumgebung zu teilen. Wie es jedoch begrüßt werden kann, kann in einer gegebenen Umgebung ein bestimmtes Gerät (z.B. ein Mobiltelefon) eher nur ein Konsument von Ressourcen sein als ein Anbieter von irgendeiner Ressource, oder umgekehrt, kann nur ein Anbieter und nicht ein Konsument sein.
  • Ein Gerät, das seine Ressourcen teilt, muss die Ressourcedaten nicht notwendigerweise direkt mit anderen Geräten kommunizieren, sondern kann stattdessen z.B. seine Ressourcen irgendwo anbieten, um von anderen Geräten entdeckt zu werden. Zum Beispiel wird ein .NET-Dienst (werden .NET-Geräte) bereitgestellt, der Geräteressourcefähigkeiten zentral speichert, so dass die Daten richtig formatiert sein können bevor zu irgendeinem Gerät gesendet werden, z.B. so dass keine hoch aufgelösten Grafiken zu einem Gerät gesendet werden, dass nicht in der Lage ist, diese anzuzeigen. Ein ähnlicher .NET-Ressourcedienst, oder ein erweiterter .NET-Gertedienst, kann bereitgestellt werden, um diese Informationen anderen Geräten anzubieten.
  • Die folgenden Tabellen legen manche Beispielschemata dar, die verwendet werden können (z.B. mit XML-formatierten Daten), um Ressource-(Speicher- und Prozessleistungs-)Informationen bezüglich der Geräte eines Benutzers auszutauschen, welche in diesem Beispiel einen Arbeits- und Heimpersonalcomputer ("Work PC" und "Home PC"), und ein Mobiltelefon ("Cell Phone") einschließen:
    Figure 00160001
  • Es gilt als verstanden, dass das Schema vorzugsweise Ressourcen-basiert ist, das heißt, mehrere Geräte können für jeden Ressourcetyp aufgelistet sein, um das allgemeine Konzept einer Identität, die verteilte Ressourcen aufweist, die für eine Verwendung verfügbar sind, zu treffen, unabhängig von dem eigentlichen Gerät, auf dem die Ressource ist. Nichts desto trotz ist die vorliegende Erfindung nicht auf ein bestimmtes Schema und/oder Format beschränkt, z.B. können die Schemata gerätebasiert sein, so dass jedes Gerät stattdessen seine Liste an verfügbaren Ressourcen für andere Geräte bereitstellt, so dass dieselben Informationen bekannt sind.
  • Wie es allgemein in 3 dargestellt ist, wird eine Architektur 300 bereitgestellt, damit Geräte in einem intelligenten, verteilten Computermodell teilnehmen können, in dem verschiedene Aspekte der teilnehmenden Geräte abstrahiert sind und von einem unterschiedlichen Gerät programmatisch adressierbar gemacht sind. Eine Universal-Plug-and-Plag-(UPnP 2.0) Infrastruktur oder ähnliches kann als ein Basis-, Niedriglevelmechanismus 302 zum Entdecken dieser Ressourcen verwendet werden. Alternativ kann die Liste mit Ressourcen für verschiedene Computergeräte an einem gut bekannten Ort zwischengespeichert werden, wie z.B. einem Active-Directory-Speicher, um das Abfragen von Remote-Ressourcen selbst dann zu ermöglichen, wenn das Gerät nur durch manche dazwischen liegende Geräte erreichbar ist, wie z.B. eine Firewall oder einen kabellosen Hub. Oberhalb des Auffindungsmechanismus liegen die Schemata 304, z.B. ein Schema zugehörig zu jedem bestimmten Typ an Computerressource, wobei jedes dieser Schemata z.B. wie in der .NET-Architektur dargelegt (exposed) ist.
  • Es ist zu beachten, dass, während UPnP einen geeigneten Auffindungsmechanismus 304 bereitstellt, es nur Teil eines Prozesses des eigentlichen Verwendens der Remote-Computerressource ist. Deshalb werden die UPnP- und .NET-Technologien verwendet, um ein Teilen (gemeinsames Benutzen – sharing) der Ressource zu ermöglichen, werden aber nicht verwendet, um die Ressourcen, die auf einem Gerät verfügbar sind, tatsächlich einzusetzen. Sobald die Ressourcen bekannt sind, werden eher passende, fokussierte Protokolle für diesen bestimmten Ressourcebereich verwendet. Als Beispiel ist UPnP im Zusammenhang mit den .NET-identityHeader (Identitätskopf), endpointHeader (Endpunktkopf) und requestHeader (Anfragekopf) der SOAP-Bedeutungen (semantics) gut geeignet, um die Videobildschirmcharakteristiken eines Remote-Gerätes zu erlangen, obwohl ein Protokoll, wie z.B. RDP, verwendet wird, um Videodaten zu übertragen, nachdem das anfängliche Auffinden und Quittierung (handshaking) zwischen den Geräten stattgefunden hatte. Es ist zu beachten, dass dies ähnlich zu der Art und Weise ist, wie .NET mit Datendiensten heutzutage Kontakt aufnimmt, z.B. stellt .NET einen Mechanismus bereit, um sich mit einem elektronischen Endpunkt, der ein proprietäres Protokoll (z.B. Messenger-Protokoll) darstellt, aber sobald dieser Endpunkt verbunden ist, erlaubt es .NET dem Client, ein existierendes Echtzeitprotokoll zu verwenden. Andere Protokolle, die für andere Ressourcetypen passend sind, werden verwendet, z.B. CIFS+ zur Speicherung, welches sich sowohl für Firmen- als auch Heimspeicherszenarien gut eignet, und das Dateisystem des Benutzers befähigt, sich kontinuierlich auf andere Speichergeräte auszudehnen, ohne den Benutzer zu zwingen, mit Laufwerksbuchstaben, Namespaces (Namensräume) usw. umzugehen. Zusammengefasst stellt die vorliegende Erfindung einen identitätsbasierten Ansatz bereit, um diese zusätzlichen Ressourcen, die für eine Verwendung verfügbar sind, aufzufinden, aber hat anschließend mit deren Verwendung direkt nichts zu schaffen.
  • 6 ist ein Beispielablaufdiagramm, das manche allgemeinen Aspekte der vorliegenden Erfindung darstellt und mit Schritt 600 beginnt, der das Empfangen einer Anfrage darstellt, eine geteilte Ressource (shared resource) zu verwenden. Die Anfrage kann allgemein sein, z.B. das Anfragen einer Liste an Ressourcen, die ein Benutzer auf Geräten verfügbar hat, die konfiguriert sind, teilzunehmen, oder kann eine Anfrage für eine bestimmte Ressource sein, z.B. als Antwort auf eine Bekanntmachung. Zum Zwecke dieses Beispiels wird die Anfrage als eine Anfrage für eine bestimmte Ressource behandelt.
  • Schritt 602 stellt die Evaluierung der Berechtigungsnachweise dar, wie sie z.B. durch den Microsoft-.NET-Passport-Authentifizierungsdienst bereitgestellt wird. Die Anfrage kann die Berechtigungsnachweise einschließen, oder die Berechtigungsnachweise können separat ausgetauscht werden, z.B. bevor, als Teil davon, oder nach dem Schritt 600. Wenn es bei Schritt 602 keine Zulassung gibt geht der Schritt 602 zu Schritt 604 über, welcher das Zurückweisen der Anfrage darstellt. Es ist zu beachten, dass abhängig von einer gegebenen Umgebung die Anfrage ohne richtige Berechtigungsnachweise eher ignoriert werden kann, als speziell zurückgewiesen werden.
  • Wenn sie zugelassen wird, wird Schritt 606 ausgeführt, der das Ermitteln der Menge an angefragter Ressource, die verfügbar ist, darstellt. Zum Beispiel kann eine Ressource, wie z.B. Speicher begrenzt sein, weil es nur einen begrenzten freien Speicherraum gibt, und des Weiteren kann ein Gerät eingerichtet sein, nur einen Teil seines Speicherplatzes zum Teilen verfügbar zu machen, und den Rest für sich selbst zu reservieren. Eine Ressource, wie z.B. Prozessortakte können nur in dem Umfang verfügbar gemacht werden, wie der Prozessor nicht anderweitig verwendet wird und kann selbst dann noch weiter begrenzt sein, so dass andere Geräte diese nur bis zu einer maximalen Menge an nicht verwendeten Takten beanspruchen können. Irgendeine Ressource kann einen Zeitüberschreitungswert für sich assoziiert haben, welcher des Weiteren von seiner Verwendung abhängig ist, z.B. kann ein Speicher nicht für mehr als eine Stunde pro Anfrage geteilt werden, und die Anfrage wird beendet werden, wenn keine Dateisystemanfragen mindestens alle zwei Minuten erkannt werden. Auf diese Weise kann ein Gerät so eingerichtet sein, dass es seine Ressourcen in einem Maß teilt, dass durch seinen Besitzer/Administrator gesteuert wird.
  • Es ist zu beachten, dass der Ressourcenzugriff dynamisch sein kann, z.B. können nicht verwendeten Prozessortakte geteilt werden, jedoch ist CPU-Verwendung eine Zahl, die schwankt, und das anfragende Gastgerät kann zusammen mit anderen Geräten und/oder Prozessen auf dem Gerät, dass seine CPU teilt, priorisiert sein. Zum Beispiel kann ein Gastbenutzer nur einen kontrollierbaren Prozentsatz der Ressource konsumieren, wenn der Besitzer des Gerätes sie nicht anderweitig verwendet, wie z.B. Bandbreite oder Prozessorleistung. Sowohl CPU als auch Bandbreite sind Beispiele von Ressourcen, welche eher gemäß von Zeitgrenzen (z.B. Takte oder Bits pro Sekunde) geplant werden, als nicht-zeitbasierte Ressourcen, wie z.B. Disk oder Speicherverwendung. Als ein Ergebnis wird der Planungsmechanismus für zeitbasierte Ressourcen im Allgemeinen grundsätzlich verschieden sein von dem für nicht-zeitbasierte Ressourcen. Es ist zu beachten, dass Kioskorte (kiosk locations) viele Szenarien ermöglichen würden, die für solche Gäste nützlich wären. Eine Ressource, wie z.B. ein Anzeigemonitor, kann entweder gänzlich verfügbar sein zum Teilen oder gar nicht, abhängig davon, ob er derzeit verwendet wird oder nicht. Obwohl es in 6 nicht dargestellt wird, kann der Schritt 606 deshalb ebenso eine Anfrage zurückweisen (oder wenn passend ignorieren), wenn es keine verfügbare Menge einer angefragten Ressource zum Teilen gibt. Schritt 608 stellt das Zurückgeben einer Antwort an die anfragende Einheit dar, vorzugweise die schemabasierte Antwort, die die Ressourcefähigkeitsdaten der anfragenden Einheit bereitstellt.
  • Schritt 610 stellt das Erlauben der angefragten Ressource, geteilt zu werden, dar, und schließt z.B. den Austausch von Daten zwischen dem anfragenden Gerät und dem teilenden Gerät ein, so dass das Teilende eine bestimmte, entsprechende Aufgabe für das anfragende Gerät durchführt. Schritt 612 testet, ob die Ressource verbraucht wurde, z.B. eine Zeitüberschreitung stattfand oder nicht länger verfügbar ist. Es ist zu beachten, dass dies als eine Schleife in 6 für die Zwecke der Einfachheit gezeigt ist, es ist jedoch leicht verständlich, dass die Vorgänge ereignisgesteuert sein können. Des Weiteren kann ein Schritt (wie z.B. Schritt 606) in der Schleife eingeschlossen sein/verwendet werden, um das Ereignis auszulösen, z.B. wird die Ressourceverwendung dynamisch überwacht, um zu ermitteln, wann sie für die bestimmte Anfrage verbraucht ist. Es ist zu beachten, dass eine Ressource direkt erschöpft sein kann, wenn die anfragende Einheit das Gerät informiert, dass die Ressource nicht länger benötigt wird.
  • Schritt 614 stellt das Benachrichtigen des anfragenden Gerätes dar, dass die Ressource für seine Verwendung nicht länger verfügbar ist. Schritt 616 stellt das Deaktivieren der Ressourceverwendung dar, so dass z.B. das anfragende Gerät, sobald sie erschöpft ist, eine neue Anfrage machen muss, wenn es die Ressource teilen (mitnutzen) möchte.
  • 4 und 5 stellen Beispiele für manche der vielen möglichen Verwendungen der vorliegenden Erfindung bereit. Wie es von den Beispielen der 4 und 5 verstanden werden wird, kann das Integrieren einer Rechen-Proxy-Unterstützung in ein Netzwerkrandgerät oder -apparat in ein verbessertes Benutzererlebnis für Benutzer eines internen Netzwerkes führen.
  • In einem ersten Beispiel, das in 4 dargestellt ist, möchte ein kleines Mobilgerät 400 (wie z.B. ein Mobiltelefon) auf einem Drucker 402 drucken, jedoch hat das kleine Gerät 400 keinen passenden Druckertreiber. Dies kann daher kommen, dass das mobile Gerät 400 nicht ausreichend Speicher aufweist, um einen Druckertreiber, der für diesen Drucker 402 benötigt wird, zu installieren und zu führen, und/oder keinen einfachen Weg hat, den benötigten Druckertreiber zu installieren und/oder aus irgendeinem anderen Grund. Es ist zu beachten, dass dies ein echtes Szenario ist, und es eine vorgeschlagene Lösung ist, einen XHTML-PRINT als eine vereinfachte PDL (Page Description Language – Seitenbeschreibungssprache) von dem mobilen Gerät 400 an den Drucker 402 auszugeben, z.B. über irgendeine Netzwerkverbindung (durch die gestrichelte Linie 4 gezeigt). Obwohl XHTML-PRINT in einem gewissen Umfang ausreichend ist, hat diese Lösung eine Anzahl von Nachteilen, wie z.B., XHTML-PRINT ist nicht WYSIWYG (what you see is what you get), kann keine Zeilenumbrüche steuern und stellt im Allgemeinen ein schwaches Benutzererlebnis bereit.
  • Wenn jedoch über die vorliegende Erfindung das mobile Gerät 400 zuerst dynamisch einen Personalcomputer 404 entdeckt, der mit einem geeigneten Druckertreiber 406 ausgestattet ist, (und für welchen der Benutzer des mobilen Gerätes zur Verwendung authorisiert ist), stellt das mobile Gerät 400 stattdessen die Druckerdaten über den Personalcomputer 404 dem Druckertreiber 406 bereit, welcher wiederum eine WYSIWYG-Ausgabe unter Verwendung von PCL, Postcript oder Rasterisierung erzeugt. Wie oberhalb erwähnt stellt die vorliegende Erfindung den Auffindungsmechanismus bereit, und anschließend kann das mobile Gerät 400 auf irgendeine Art und Weise mit dem Personalcomputer 404 kommunizieren, wie z.B. durch eine leichtgewichtige PDL (light weight PDL), das eine höhere Genauigkeit (relativ zu XHTML-PRINT) hat. Das Ergebnis ist eine hoch qualitative Ausgabe, die sehr schnell durch den wirksamen Einsatz des schnelleren Prozessors und passenden Druckertreibers 406 in dem Personalcomputer 404 gemacht wird.
  • 5 demonstriert ein zweites Beispiel, das im Allgemeinen auf das Bereitstellen einer verbesserten Benutzererfahrung gerichtet ist, wenn ein PDA (Personal Digital Assistant) 500 betrieben wird, der verwalteten Code entfernt (remote) auf einem Server 502 (z.B. ein ASP.NET-Server) ausführen möchte. Eine Möglichkeit, dies durchzuführen ist, den PDA mit dem Server zu verbinden, um den verwalteten Code auszuführen, (z.B. durch den wirksamen Einsatz von Mobile Controls (mobilen Steuerelementen), die in ASP.NET unterstützt werden), wobei die Ergebnisse als HTML übermittelt werden, was durch die gestrichelte Linie in 5 angezeigt wird. Der Server 502 skaliert den HTML-Inhalt auf die passende Bildschirmgröße des Gerätes 500 dynamisch, ohne dass der ISV Code mit speziellem Zweck (spezial-purpose code) für jedes Gerät 500 erzeugen muss. Dies erfordert jedoch viele Hin und Her's mit dem Server 500, wodurch der Bildschirm für Aktualisierungen aufblitzt, und allgemein ein verringertes Benutzererlebnis bereitstellt.
  • Eine verbesserte Lösung, die durch die vorliegende Erfindung bereitgestellt wird, wird dadurch erzielt, dass der PDA dynamisch entdeckt, dass ein Personalcomputer 504, der mit der Identität des Benutzer assoziiert ist, ein Proxy für eine Anzahl von Berechnungsressourcen sein kann, wie es allgemein in 5 darstellt ist. In solch einem Fall gibt der PDA eine HTML-Anfrage für eine Remote-Seite über den Proxy-Personalcomputer 504 aus. Der Personalcomputer 504 fängt die Anfrage ab und startet eine Session mit dem Remote-Server 502, um die UI zum Rendern des verwalteten Codes abzuladen (offload), z.B. unter Verwendung von WSDL als das Protokoll zu dem Server 502. Möglicherweise wird die Bandbreite von dem Proxy-Personalcomputer 504 zu dem Server 502 weniger sein als die Bandbreite von dem PDA-Gerät 500 zu dem Proxy-Personalcomputer 504, wodurch die geringer Datenmenge, die über die langsamere Verbindung zu und von dem Server 502 übertragen wird, zu einer antwortintensiveren Benutzerschnittstelle führt, wenn sie auf dem PDA 500 angezeigt wird, was ein verbessertes Benutzererlebnis bereitstellt. Natürlich können die zwei Bandbreiten zuerst evaluiert werden, um sicherzustellen, dass die Proxy-Lösung die optimalere ist.
  • Des Weiteren ist zu beachten, dass, wenn der PDA 500 mit lokal laufenden Steuerelementen ausgestattet ist, die der Server wirksam einsetzen könnte, ein noch besseres Erlebnis bereitgestellt werden kann. Zum Beispiel setzt ASP.NET automatisch irgendwelche lokalen Steuerelemente (z.B. ein Steuerelement zum Holen des Datums (date picker control)), die lokal auf einem PDA laufen, auf dem ein Windows®-basiertes Betriebssystem läuft, automatisch wirksam ein. Dies führt zu noch weniger Hin- und Her-Übertragungen zu dem Server 502 und/oder Proxy 504, mit weniger resultierenden Bildschirmaktualisierungen/-Blitzen.
  • Wie es begrüßt werden kann, gibt es eine Vielzahl anderer Beispiele, die durch die Verwendung von Computerressourcen, die sich um eine Identität drehen, anstatt um die bestimmten Geräte, die jene Ressourcen mit sich bringen, ermöglicht werden. Die Ressourceschemata und Bedienstrukturen sind nicht auf ein einfaches Beschreiben der Ressourcen begrenzt, sondern schließen ebenso Elemente ein, um jenen Ressourcen zu helfen, miteinander zu arbeiten. Dies kann von den folgenden zwei Typen an Szenarien verstanden werden, nämlich einer Reihe von Echtzeit-Szenarien, in denen der Benutzer mit einem Remote-Computergerät in Echtzeit interagiert, und einer Reihe von geplanten oder vorhergesagten Szenarien. Ein Beispiel eines vorhergesagten Szenarios kann einen Speicherlastausgleichsmechanismus einschließen, der gelegentlich auf einem Heimnetzwerk läuft, um sicherzustellen, dass der freie Speicherplatz eines Computergerätes nicht ausgeht, während ein anderes Laufwerk genügend Platz hat.
  • Deshalb kann ein ergiebiges Schema Daten bereitstellen, die über das Beschreiben der Ressourcen selbst hinausgeht, wie z.B. Verfahren zum Planen, zu einer bestimmten Zeit oder zu regelmäßigen Intervallen, einer Priorisierungsmaschinerie, und Daten, die anzeigen, wie mit möglichen Auseinandersetzungen zwischen Echtzeit- und vorhergesagten Aufgaben oder mehreren solcher Aufgaben umzugehen ist. Das Schema berücksichtigt das Konzept der Kosten, z.B. wenn zwei Verbindungen zu dem Internet verfügbar sind, ist es wertvoll, zu erkennen, dass der Benutzer einen Preis für unbegrenzten Zugriff zahlt, aber einen Preis für eine Datenmenge, die über einen unterschiedlichen Mechanismus übertragen wird, und die bessere Option ausgewählt wird.
  • Eine Replikation/Teilen durch ein mitschreibendes (logging) System kann verwendet werden, um zu verstehen, wie Benutzer mit ihren Geräten interagieren, und um eine konsolidierte Ansicht zu erlangen, wie ein Benutzer arbeitet, als nur getrennte Ansichten, für die Geräte getrennt, zu haben. Diese Daten sind vielen Geräten einschlägig bekannt, und sie werden eine automatische Möglichkeit bereitstellen, solche Daten zu konsolidieren. Vorhersageoptimierungen können basierend auf einer überwachten Verwendung gespeichert und ausgetauscht werden, z.B., wenn das System weiß, dass ein Benutzer bestimmte Informationen auf einen tragbaren Computer jeden Freitag manuell herunterlädt, bevor er das Büro verlässt, dann kann das System das Herunterladen während einer Geräteleerlaufzeit starten, so dass die "Synchronisation" unverzüglich stattfindet. Die Optionen/Einstellungen/Präferenzen von Endbenutzern sind ebenso wertvolle Informationen für die geteilte Umgebung, z.B., was ein wünschenswertes oder selbst notwendiges Merkmal für manche Benutzer ist, ist nicht wünschenswert oder selbst störend für andere. Durch das Führen von diesen Daten, hat der Endbenutzer die Macht, sein Erlebnis zu steuern. Ebenso gibt es in einer üblichen Umgebung mindestens einen reichhaltigen Client, der das Protokoll/Schema verwendet, um eine Systemverwaltung durchzuführen, wobei „System" sich auf die gesamte Reihe von Ressourcen zugehörig zu einer Identität bezieht. Algorithmen und Verfahren können das Schema zur Vorhersage solcher Operationen verwenden.
  • Es gilt als verstanden, dass es viele wertvolle Szenarien gibt, die durch das Abstrahieren der Geräteressourcen und das Ansammeln dieser um eine Identität herum ermöglicht werden. Eine Anzahl von Beispielen wird bereitgestellt, jedoch sollte die Liste nicht als vollständig oder in irgendeiner Weise einschränkend betrachtet werden, sondern dient eher dazu, manche der vielen Nutzen und Vorteile der vorliegenden Erfindung darzustellen. Wie die oben genannten Beispiele kann ein Gerät mit einem kleinen Computerbildschirm einen nicht verwendeten Computermonitor, der mit einem Personalcomputer verbunden ist, für eine bessere Anzeige wirksam einsetzen, Ressourcen eines Proxy verwenden, um eine bessere Anzeige auf seinem eigenen Display (5) zu ermöglichen, oder auf einem Drucker zu drucken, selbst ohne einen Druckertreiber zu besitzen, und durch das Verbinden zu einem Drucker über einen Personalcomputer, der den korrekten Treiber hat (4).
  • Andere Beispiele können darin gesehen werden, dass ein Gerät mit sehr geringer Leistung, wie z.B. ein Mobiltelefon, komplexe Berechnungen durch die Verwendung des Speichers und der CPU eines Personalcomputers durchführen kann. Gespeicherte Da ten können automatisch und unsichtbar von einem ersten Festplattenlaufwerk zu einem zweiten bewegt werden, wenn das erste Festplattenlaufwerk voll wird, einschließlich, z.B. von persönlichen digitalen Videorekordern, die Videoprogramme aufnehmen, und die alte Aufzeichnungen löschen müssen, um Platz für neuere Aufzeichnungen zu machen. Die vorliegende Erfindung schiebt stattdessen jene älteren Aufzeichnungen zu einem anderen Speicher, als diese zu löschen. Ein tragbarer Audio-Abspieler muss nicht imstande sein, irgendeinen Typ an physischen Datenträgern abzuspielen, sondern kann stattdessen Audiodaten empfangen und Puffern, die von einem Personalcomputer zu ihm geladen werden (streamed) und die Audiodaten von dem Speicher abspielen.
  • Andere Beispiele schließen ein, dass es Benutzern erlaubt wird, ihre Dateien von irgendeinem Gerät aus einfach zu erreichen, ungeachtet dessen, wo sie gespeichert sind; z.B. während sie unterwegs sind und nur einen kleinen Personalcomputer haben, sind sie in der Lage, Dateien, die auf einem Heim-Personalcomputer oder Büro-Personalcomputer gespeichert sind, einfach zu öffnen (unabhängig von einem zentralisierten .NET-Datenspeicher). Ein Benutzer kann den gesamten freien Platz auf verschiedenen Geräten sehen, einschließlich dem in verschiedenen öffentlichen Sharepoints in einem Firmennetzwerk. Ein großflächiger Fernseher, der mit einem passenden Gerät verbunden ist, kann verwendet werden, um Fotografien anzusehen, die in einem Ordner eines Personalcomputers gespeichert sind, um eine Diashow abzuspielen, um Heimfilme anzusehen oder Filmvorschauen, die auf einem Personalcomputer gespeichert sind und so weiter.
  • 7 stellt eine Demonstration einer Implementierung 700 bereit, die unter Verwendung von 4 miteinander verbundenen Computersystemen 702 bis 705 läuft. Die Implementierung 700 schließt eine Befehlshülle (command shell) 710 und ein Anwendungsprogramm 712 (oder ähnlichen Funktionscode) auf dem Computergerät 704, eine Tastatur-Ressource 714 auf dem Computersystem 702, einen Speicher (z.B. Disk) 716 auf dem Computersystem 703 und eine Anzeige 718 auf dem Computersystem 705 ein. Die Ressourcen in diesem Beispiel sind deshalb verteilt, so dass es eine Eingaberessource auf dem Computer 702 gibt, eine Speicherressource auf dem Computer 703 und eine Ausgaberessource auf dem Computer 704. Der Computer 704 agiert als eine koordinierende Autorität für die Implementierung 700. Obwohl die Ressourcen auf verschiedenen Computersystemen sind wird auf die Ressourcen gemäß der vorliegenden Erfindung zugegriffen, um im Wesentlichen ein einzelnes funktionierendes System zu bilden.
  • Die Shell-Ressource 710 ruft die Anwendung 712 auf, und verbindet sich ebenso zu den Ressourcen der anderen Geräte durch die Anschlüsse 724, 726 und 728, die konzeptionell als ein Anschluss pro Ressource in 7 dargestellt sind, obwohl ein separater Eingangs- und Ausgangsanschluss bereitgestellt werden könnte. Anschlüsse umfassen im Wesentlichen strukturierte Warteschleifen (structured queues), auf die/zu denen über ein Handle zu dem Anschluss geschrieben (output) oder gelesen (input) werden kann. Anschlüsse sind mobil, Daten gehen nicht verloren, und Sicherheit kann mit einem Anschluss assoziiert werden, so dass niemand, außer der beabsichtigten Einheit, die Daten sehen kann, die für ihn gedacht sind.
  • Die Shell 710, die in der Implementierung 700 verwendet wird, basiert auf einer Programmierungssprache, die als xSpresso bezeichnet wird, wie Sie in der vorläufigen US-Patentanmeldung mit der Seriennummer 60/379,864 , die am 10. Mai 2002 angemeldet wurde, beschrieben ist. Im allgemeinen ist xSpresso auf eine Programmierungssprache und runtime (Echtzeitumgebung) gerichtet, die die Steuerung und den Datenfluss zwischen asynchronen Systemkomponenten vermittelt. Neben anderem drückt xSpresso die kooperativen Dimensionen von Programmen oder Diensten aus, einschließlich des Ordnens und der Zeitsteuerung, die programmatisch überprüft werden können. Die Sprache kann programmatisch das Übergeben eines Organisationsschemas ausdrücken, das aus einer benutzeranpassbaren kennzeichenbasierenden (tag-based) Sprache wie z.B. XML, gebildet wurde.
  • In dem Beispiel der 7 stellen die Pfeile, die mit 1 bis 4 und 6 bis 10 bezeichnet sind, ein Beispiel von den verschiedenen Datenübertragungen zwischen den Anschlüssen 724, 726 und 728 und der Shell 710 dar, um die Textdaten einer Datei in dem Speicher 716 auf dem Display 718 anzuzeigen, z.B. ähnlich zu der gut bekannten „Schreib"-Funktion (Type-Funktion). In dem Beispiel der 7 initiiert ein Benutzer der Tastatur-Ressource 714 die Funktion durch das Eintippen des Wortes „Schreibe" auf der Tastatur 714 (der Pfeil mit der Bezeichnung 1 (1)). Die Shell 710 empfängt dies über den Anschluss 724 und kommuniziert die Daten zu dem Anschluss 728 zum Anzeigen auf dem Bildschirm 718 (Pfeil mit der Bezeichnung 2 (2)), zum Beispiel um zu wiederholen (echo), was der Benutzer eingegeben hat und/oder um zur Eingabe eines Dateinamens einer Datei aufzufordern, die den Text speichert, den der Benutzer angezeigt haben möchte. In 7 stellt der Pfeil, bezeichnet als 3 (3) dar, dass der Benutzer den Dateinamen eingibt, wie z.B. entsprechend einer XML-Datei, was ebenso wiederholt werden kann (nicht extra bezeichnet).
  • Mit dem Dateinamen schreibt die Shell 710 anschließend Daten (dargestellt durch den Pfeil bezeichnet mit 4 (4)) an den Anschluss 726, der der Speicher- (z.B. Disk-) Ressource 716 entspricht, was zu einer Leseanfrage an das Dateisystem des Speichers führt. Parallel dazu ruft die Shell 710 (der breite Pfeil, bezeichnet mit 5 (5)) das Anwendungsprogramm 712 auf, um die gelesenen Daten zu empfangen und auszugeben. In Reaktion darauf beginnt die Speicherressource 716 mit dem Ausgeben der Daten über dem Anschluss 726 an das Anwendungsprogramm 712, welches sie wiederum an den Anschluss 728 des Display 718 ausgibt, wie es durch die Pfeile dargestellt ist, die mit 6 (6) und 7 (7) bezeichnet sind. Die Pfeile, bezeichnet mit 8 (8) und 9 (9) stellen den Rest dar, indem die Daten in einer ähnlichen Weise übertragen werden. Der Pfeil mit der Bezeichnung 10 (10) stellt den Status-(z.B. Erfolgs-) Code dar, der an die Shell 710 zurückgegeben wird.
  • In Übereinstimmung mit der vorliegenden Erfindung können Speicher, Eingabe und Ausgabe auf verschiedenen Systemen platziert werden, wobei die Implementierung nicht verändert wird. Eine Interoperabilität mit Altsystemen (legacy interoperability) kann über Klassen einer allgemeinen Sprachechtzeit (commen language runtime-CLR) bereitgestellt werden, die allgemeine Altsystemkomponenten (z.B. die Tastatur, Konsole und Speicher) repräsentieren. Die Systemverbreitung wird in einer lokalen und transparenten, verteilten Implementierung sowie das explizite Behandeln von gleichzeitigem Zugriff (concurrency) und Nachrichtübergabe bereitgestellt.
  • Wie es von der vorangegangenen detallierten Beschreibung gesehen werden kann, wird ein Verfahren und System für verteiltes Computing von Geräteressourcen bereitgestellt, die auf dem Konzept der Identität basieren. Das Verfahren und System abstrahiert die Ressourcen eines Computers der einzelnen Geräte in einer Art und Weise, die viele Vorteile für einen Benutzer bereitstellt und die Erfahrung mit der Verwendung des Computers für den Benutzer allgemein verbessert. Das Verfahren und System ist schematabasiert, und sie sind erweiterbar und hoch flexibel.
  • Während die Erfindung empfänglich für verschiedene Modifizierungen und alternative Konstruktionen ist, sind bestimmten dargestellte Ausführungsformen davon in den Zeichnungen gezeigt und sind oberhalb im Detail beschrieben worden. Es sollte verstanden sein, dass es keine Absicht zum Einschränken der Erfindung auf bestimmte offenbarte Formen gibt, sondern im Gegenteil, es die Absicht ist, alle Modifikationen, alternativen Konstruktionen und Äquivalente, die in den Umfang der Erfindung fallen, abzudecken.

Claims (8)

  1. Verfahren eines mobilen Computergeräts zum Drucken in einer Computerumgebung, wobei das Verfahren erlaubt, dass ein mobiles Computergerät, das keinen Druckertreiber hat, auf einem Drucker druckt, und wobei das Verfahren umfasst: Endecken, durch das mobile Computergerät (202, 400), das mit mindestens einer Identität assoziiert ist, eines anderen Computergeräts (212, 404), das mit der mindestens einen Identität assoziiert ist, und das mit einem Druckertreiber (406) für den besagten Drucker ausgestattet ist; Erlangen, durch das mobile Computergerät, von Daten (209B), die das andere Computergerät betreffen, wobei die Daten Druckertreiberinformationen des anderen Computergeräts einschließen, die gemäß einem Schema, das das mobile Computergerät versteht, formatiert sind; Interpretieren, durch das mobile Computergerät, der Daten, um auf den Druckertreiber des anderen Computergeräts zuzugreifen; und Ausführen, durch das mobile Computergerät, eines Druckauftrags, einschließlich des Bereitstellens von Druckdaten zu dem Druckertreiber über das andere Computergerät.
  2. Verfahren nach Anspruch 1, das des Weiteren umfasst: Übermitteln (600) einer Anfrage, den Druckertreiber zu verwenden, von dem mobilen Computergerät zu dem anderen Computergerät.
  3. Verfahren nach Anspruch 1 oder 2, das des Weiteren umfasst: Übermitteln von Identitätsinformationen von dem mobilen Computergerät zu dem anderen Computergerät.
  4. Verfahren nach Anspruch 3, wobei die Identitätsinformationen Berechtigungsnachweisen (207A, 207B) entsprechen.
  5. Verfahren nach Anspruch 4, wobei die Berechtigungsnachweise durch einen Authentifizierungsdienst (220) bereitgestellt werden.
  6. Computer-lesbarer Datenträger, der Computer-ausführbare Instruktionen aufweist, um das Verfahren eines der Ansprüche 1 bis 5 auszuführen.
  7. System in einer Computerumgebung zum Erlauben, dass ein mobiles Computergerät, das keinen Druckertreiber hat, auf einem Drucker druckt, und wobei das System umfasst: Ein erstes Computergerät (212, 404), das mit mindestens einer Identität assoziiert ist, wobei das erste Gerät einen Druckertreiber aufweist und eingerichtet ist zum Bereitstellen eines Zugriffs auf den Druckertreiber durch mindestens ein zweites Gerät (202, 400), das mit der mindestens einen Identität assoziiert ist, und wobei das erste Computergerät dem zweiten Gerät Informationen (209B) über den Druckertreiber gemäß einem Ressourcen-Schema zugehörig zu der mindestens einen Identität bereitstellt; das zweite Gerät (202, 400), wobei das zweite Gerät das mobile Computergerät ist, das eingerichtet ist, einen Zugriff auf den Druckertreiber anzufordern; und wobei das zweite Gerät einen Druckauftrag ausführt, der das Zugreifen auf den Druckertreiber auf dem ersten Gerät einschließt, um mindestens einen Teil des Druckauftrags auszuführen.
  8. System nach Anspruch 7, das des Weiteren ein drittes Computergerät (402), das mit dem ersten Computergerät verbunden ist, umfasst, wobei das zweite Computergerät auf den Druckertreiber zugreift, um einen Arbeitsvorgang mit dem dritten Computergerät auszuführen, und wobei das dritte Computergerät den Drucker (402) umfasst.
DE60315558T 2002-06-28 2003-04-30 Verteiltes Rechnersystem für Vorrichtungsresourcen basierend auf Identität Expired - Lifetime DE60315558T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/187,221 US9886309B2 (en) 2002-06-28 2002-06-28 Identity-based distributed computing for device resources
US187221 2002-06-28

Publications (2)

Publication Number Publication Date
DE60315558D1 DE60315558D1 (de) 2007-09-27
DE60315558T2 true DE60315558T2 (de) 2008-05-08

Family

ID=27733971

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60315558T Expired - Lifetime DE60315558T2 (de) 2002-06-28 2003-04-30 Verteiltes Rechnersystem für Vorrichtungsresourcen basierend auf Identität

Country Status (25)

Country Link
US (1) US9886309B2 (de)
EP (1) EP1376977B1 (de)
JP (1) JP4495410B2 (de)
KR (1) KR100934336B1 (de)
CN (1) CN100465939C (de)
AT (1) ATE370452T1 (de)
AU (1) AU2003204123A1 (de)
BR (1) BR0302014A (de)
CA (1) CA2428481C (de)
CO (1) CO5470296A1 (de)
DE (1) DE60315558T2 (de)
DK (1) DK1376977T3 (de)
HK (1) HK1059011A1 (de)
HU (1) HU228610B1 (de)
IL (1) IL155804A (de)
MX (1) MXPA03004409A (de)
MY (1) MY139962A (de)
NO (1) NO329278B1 (de)
NZ (1) NZ525694A (de)
PL (1) PL360329A1 (de)
RU (1) RU2324970C2 (de)
SG (1) SG110048A1 (de)
TR (1) TR200300769A2 (de)
TW (1) TWI269183B (de)
ZA (1) ZA200303554B (de)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302634B2 (en) * 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US7024662B2 (en) * 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US7493397B1 (en) * 2001-06-06 2009-02-17 Microsoft Corporation Providing remote processing services over a distributed communications network
US7428725B2 (en) * 2001-11-20 2008-09-23 Microsoft Corporation Inserting devices specific content
US20030233477A1 (en) * 2002-06-17 2003-12-18 Microsoft Corporation Extensible infrastructure for manipulating messages communicated over a distributed network
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
CA2838180C (en) * 2002-08-19 2014-12-02 Research In Motion Limited System and method for secure control of resources of wireless mobile communication devices
US7574653B2 (en) * 2002-10-11 2009-08-11 Microsoft Corporation Adaptive image formatting control
US7290278B2 (en) * 2003-10-02 2007-10-30 Aol Llc, A Delaware Limited Liability Company Identity based service system
US7596782B2 (en) * 2003-10-24 2009-09-29 Microsoft Corporation Software build extensibility
JP4325438B2 (ja) * 2004-03-01 2009-09-02 ソニー株式会社 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
DE102004018980A1 (de) * 2004-04-20 2005-12-08 Deutsche Thomson-Brandt Gmbh Verfahren zur Steuerung eines Gerätes in einem Netzwerk verteilter Stationen sowie Netzwerkstation
US7890604B2 (en) * 2004-05-07 2011-02-15 Microsoft Corproation Client-side callbacks to server events
US20050251380A1 (en) * 2004-05-10 2005-11-10 Simon Calvert Designer regions and Interactive control designers
US8065600B2 (en) 2004-05-14 2011-11-22 Microsoft Corporation Systems and methods for defining web content navigation
US9026578B2 (en) * 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages
US7464386B2 (en) * 2004-05-17 2008-12-09 Microsoft Corporation Data controls architecture
US20060020883A1 (en) * 2004-05-28 2006-01-26 Microsoft Corporation Web page personalization
US8156448B2 (en) * 2004-05-28 2012-04-10 Microsoft Corporation Site navigation and site navigation data source
US7530058B2 (en) * 2004-05-28 2009-05-05 Microsoft Corporation Non-compile pages
US7730482B2 (en) * 2004-06-08 2010-06-01 Covia Labs, Inc. Method and system for customized programmatic dynamic creation of interoperability content
US20050289277A1 (en) * 2004-06-29 2005-12-29 Jackson Riley W Data processing on extended mobile access enabled computer
US20060092951A1 (en) * 2004-10-12 2006-05-04 Peak B D Information relaying method, apparatus and/or computer program product
US7769859B1 (en) * 2005-04-15 2010-08-03 Cisco Technology, Inc. Controlling access to managed objects in networked devices
JP2007066092A (ja) 2005-08-31 2007-03-15 Canon Inc 情報処理装置及びネットワークデバイス及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4667175B2 (ja) * 2005-08-31 2011-04-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US20070046282A1 (en) * 2005-08-31 2007-03-01 Childress Rhonda L Method and apparatus for semi-automatic generation of test grid environments in grid computing
JP4971610B2 (ja) * 2005-09-01 2012-07-11 キヤノン株式会社 デバイスドライバを管理するためのプログラムおよび方法と情報処理装置
JP2007087082A (ja) * 2005-09-21 2007-04-05 Ricoh Co Ltd 情報処理装置およびオプションデバイス共有方法
JP2007114901A (ja) * 2005-10-18 2007-05-10 Canon Inc ネットワーク対応出力デバイス及び情報処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体、及び、ネットワークシステム
JP4756994B2 (ja) * 2005-10-27 2011-08-24 キヤノン株式会社 ネットワークプリントシステム及びネットワーク周辺装置及び情報処理装置とプログラム
JP4865299B2 (ja) * 2005-11-02 2012-02-01 キヤノン株式会社 情報処理装置及び情報処理方法及びそのプログラム
JP5441303B2 (ja) 2006-01-20 2014-03-12 キヤノン株式会社 情報処理装置及び情報処理方法
US7810041B2 (en) * 2006-04-04 2010-10-05 Cisco Technology, Inc. Command interface
US20070260652A1 (en) * 2006-05-08 2007-11-08 Nokia Corporation Storage capacity query for UPnP AV media server CDS
US20080005115A1 (en) * 2006-06-30 2008-01-03 International Business Machines Corporation Methods and apparatus for scoped role-based access control
JP5159071B2 (ja) 2006-09-01 2013-03-06 キヤノン株式会社 通信システム及び通信装置とその制御方法
JP4869033B2 (ja) 2006-11-13 2012-02-01 キヤノン株式会社 ネットワークデバイス、ネットワークデバイス管理装置、ネットワークデバイスの制御方法、ネットワークデバイス管理方法、プログラム、記憶媒体
US7966039B2 (en) 2007-02-02 2011-06-21 Microsoft Corporation Bidirectional dynamic offloading of tasks between a host and a mobile device
US8341623B2 (en) * 2007-05-22 2012-12-25 International Business Machines Corporation Integrated placement planning for heterogenous storage area network data centers
KR101469540B1 (ko) * 2007-05-31 2014-12-05 삼성전자주식회사 리소스 정보를 이용하여 UPnP 디바이스를 발견하는방법 및 장치
US8397212B2 (en) * 2007-08-29 2013-03-12 Yahoo! Inc. Module hosting and content generation platform
US8190763B2 (en) * 2007-09-14 2012-05-29 At&T Intellectual Property I, Lp System and method for trouble detection, isolation, and management
US7890472B2 (en) 2007-09-18 2011-02-15 Microsoft Corporation Parallel nested transactions in transactional memory
JP4936551B2 (ja) * 2007-11-16 2012-05-23 キヤノン株式会社 管理装置、管理方法、及びコンピュータプログラム
JP2009145970A (ja) * 2007-12-11 2009-07-02 Canon Inc ドライバ管理装置、ドライバ管理方法、及びコンピュータプログラム
JP2009151702A (ja) * 2007-12-21 2009-07-09 Canon Inc 情報処理装置、情報処理方法、及びプログラム
US8806426B2 (en) * 2008-06-04 2014-08-12 Microsoft Corporation Configurable partitioning of parallel data for parallel processing
US20100050179A1 (en) 2008-08-22 2010-02-25 Ajay Mohindra Layered capacity driven provisioning in distributed environments
TWI385966B (zh) * 2008-09-25 2013-02-11 Mitac Int Corp 多媒體系統、媒體中央控制器及其管理媒體檔案的方法
US8869256B2 (en) * 2008-10-21 2014-10-21 Yahoo! Inc. Network aggregator
US8190938B2 (en) * 2009-01-29 2012-05-29 Nokia Corporation Method and apparatus for controlling energy consumption during resource sharing
US9225727B2 (en) 2010-11-15 2015-12-29 Blackberry Limited Data source based application sandboxing
CN102130954A (zh) * 2011-03-17 2011-07-20 华为技术有限公司 数据资源传输的方法和设备
US20120254965A1 (en) * 2011-04-04 2012-10-04 Lansing Arthur Parker Method and system for secured distributed computing using devices
US9612724B2 (en) * 2011-11-29 2017-04-04 Citrix Systems, Inc. Integrating native user interface components on a mobile device
US9339691B2 (en) 2012-01-05 2016-05-17 Icon Health & Fitness, Inc. System and method for controlling an exercise device
CN102882970B (zh) * 2012-09-28 2015-07-29 广州杰赛科技股份有限公司 基于云计算平台保持主机资源稳定的方法
US11157436B2 (en) 2012-11-20 2021-10-26 Samsung Electronics Company, Ltd. Services associated with wearable electronic device
US10185416B2 (en) 2012-11-20 2019-01-22 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving movement of device
US11372536B2 (en) 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US10423214B2 (en) * 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
US11237719B2 (en) 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
US10551928B2 (en) 2012-11-20 2020-02-04 Samsung Electronics Company, Ltd. GUI transitions on wearable electronic device
US8994827B2 (en) 2012-11-20 2015-03-31 Samsung Electronics Co., Ltd Wearable electronic device
EP2757471A3 (de) * 2013-01-21 2015-03-11 Samsung Electronics Co., Ltd Rechnersystem mit Unterstützung für Ökosystemmechanismus und Betriebsverfahren dafür
EP2969058B1 (de) 2013-03-14 2020-05-13 Icon Health & Fitness, Inc. Krafttrainingsvorrichtung mit schwungrad und zugehörige verfahren
US10158721B2 (en) * 2013-07-31 2018-12-18 The Coca-Cola Company Facilitating individualized user interaction with an electronic device
EP3974036A1 (de) 2013-12-26 2022-03-30 iFIT Inc. Mechanismus des magnetischen widerstands in einer kabelmaschine
US10691332B2 (en) 2014-02-28 2020-06-23 Samsung Electronics Company, Ltd. Text input on an interactive display
WO2015138339A1 (en) 2014-03-10 2015-09-17 Icon Health & Fitness, Inc. Pressure sensor to quantify work
US10426989B2 (en) 2014-06-09 2019-10-01 Icon Health & Fitness, Inc. Cable system incorporated into a treadmill
WO2015195965A1 (en) 2014-06-20 2015-12-23 Icon Health & Fitness, Inc. Post workout massage device
US10391361B2 (en) 2015-02-27 2019-08-27 Icon Health & Fitness, Inc. Simulating real-world terrain on an exercise device
US10063554B2 (en) * 2015-11-30 2018-08-28 Microsoft Technology Licensing, Llc. Techniques for detecting unauthorized access to cloud applications based on velocity events
US10272317B2 (en) 2016-03-18 2019-04-30 Icon Health & Fitness, Inc. Lighted pace feature in a treadmill
US10625137B2 (en) 2016-03-18 2020-04-21 Icon Health & Fitness, Inc. Coordinated displays in an exercise device
US10493349B2 (en) 2016-03-18 2019-12-03 Icon Health & Fitness, Inc. Display on exercise device
US10671705B2 (en) 2016-09-28 2020-06-02 Icon Health & Fitness, Inc. Customizing recipe recommendations
US10742657B2 (en) * 2018-07-11 2020-08-11 International Business Machines Corporation Accessing shared resources without system groups
JP2020197866A (ja) 2019-05-31 2020-12-10 コネクトフリー株式会社 ソフトウェア開発装置およびソフトウェア開発プログラム
JP7335591B2 (ja) 2019-07-22 2023-08-30 コネクトフリー株式会社 コンピューティングシステムおよび情報処理方法

Family Cites Families (492)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US598870A (en) * 1898-02-08 hoagland
DE2117811A1 (en) 1971-04-13 1972-10-19 Eichhorn, Helmut, 4030 Ratingen Making metal sphere - using molten glass
US4731750A (en) 1984-01-04 1988-03-15 International Business Machines Corporation Workstation resource sharing
US5031089A (en) 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
DE69032249T2 (de) 1989-12-07 1998-10-29 Nippon Steel Corp Verfahren zur herstellung winziger metallischer kugeln gleichmässiger grösse
US5218680A (en) 1990-03-15 1993-06-08 International Business Machines Corporation Data link controller with autonomous in tandem pipeline circuit elements relative to network channels for transferring multitasking data in cyclically recurrent time slots
AU628753B2 (en) 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
DE69129960T2 (de) 1990-09-18 1998-12-24 Fujitsu Ltd System zur Gestaltung eines geteilten Speichers
JPH0721754B2 (ja) 1991-11-08 1995-03-08 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィカル・ユーザ・インターフェース
US5485409A (en) 1992-04-30 1996-01-16 International Business Machines Corporation Automated penetration analysis system and method
US5446880A (en) 1992-08-31 1995-08-29 At&T Corp. Database communication system that provides automatic format translation and transmission of records when the owner identified for the record is changed
EP0820008A3 (de) 1992-12-01 2006-05-24 Microsoft Corporation Verfahren und System für die In-Ort-Wechselwirkung mit eingebetteten Objekten
US5867712A (en) * 1993-04-05 1999-02-02 Shaw; Venson M. Single chip integrated circuit system architecture for document instruction set computing
JP2779299B2 (ja) 1993-04-08 1998-07-23 新日本製鐵株式会社 微細金属球の製造方法および装置
CA2141931A1 (en) 1993-06-03 1994-12-22 Robert David Dickinson Place object system
US5544302A (en) 1993-06-03 1996-08-06 Taligent, Inc. Object-oriented framework for creating and using container objects with built-in properties
US5666534A (en) 1993-06-29 1997-09-09 Bull Hn Information Systems Inc. Method and appartus for use by a host system for mechanizing highly configurable capabilities in carrying out remote support for such system
GB2345157B (en) 1998-12-23 2003-06-18 Ibm Publish and subscribe data processing apparatus, method and computer program product with declaration of a unique publisher broker
US5493692A (en) 1993-12-03 1996-02-20 Xerox Corporation Selective delivery of electronic messages in a multiple computer system based on context and environment of a user
US5487141A (en) 1994-01-21 1996-01-23 Borland International, Inc. Development system with methods for visual inheritance and improved object reusability
US5640504A (en) * 1994-01-24 1997-06-17 Advanced Computer Applications, Inc. Distributed computing network
US5586311A (en) 1994-02-14 1996-12-17 American Airlines, Inc. Object oriented data access and analysis system
EP0687089B1 (de) * 1994-06-10 2003-05-28 Hewlett-Packard Company, A Delaware Corporation Ereignisverarbeitungssystem und Verfahren zur Herstellen eines solchen Systems
US5694539A (en) 1994-08-10 1997-12-02 Intrinsa Corporation Computer process resource modelling method and apparatus
EP0697662B1 (de) 1994-08-15 2001-05-30 International Business Machines Corporation Verfahren und System zur verbesserten Zugriffssteuerung auf Basis der Rollen in verteilten und zentralisierten Rechnersystemen
US5742905A (en) 1994-09-19 1998-04-21 Bell Communications Research, Inc. Personal communications internetworking
JPH10508964A (ja) 1994-11-08 1998-09-02 バーミア、テクノロジーズ、インコーポレーテッド 料金設定機能を有するオンラインサービス開発ツール
US6571279B1 (en) 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US5901312A (en) * 1994-12-13 1999-05-04 Microsoft Corporation Providing application programs with unmediated access to a contested hardware resource
US5956715A (en) 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
US5687376A (en) * 1994-12-15 1997-11-11 International Business Machines Corporation System for monitoring performance of advanced graphics driver including filter modules for passing supported commands associated with function calls and recording task execution time for graphic operation
US7127328B2 (en) 1994-12-30 2006-10-24 Power Measurement Ltd. System and method for federated security in an energy management system
US5557320A (en) 1995-01-31 1996-09-17 Krebs; Mark Video mail delivery system
EP0733971A3 (de) 1995-03-22 1999-07-07 Sun Microsystems, Inc. Verfahren und Gerät zum Verwalten von Verbindungen für Kommunikation zwischen Objekten in einem verteilten Objektsystem
US5758184A (en) 1995-04-24 1998-05-26 Microsoft Corporation System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads
US5640569A (en) * 1995-04-28 1997-06-17 Sun Microsystems, Inc. Diverse goods arbitration system and method for allocating resources in a distributed computer system
US5729682A (en) * 1995-06-07 1998-03-17 International Business Machines Corporation System for prompting parameters required by a network application and using data structure to establish connections between local computer, application and resources required by application
US6807558B1 (en) 1995-06-12 2004-10-19 Pointcast, Inc. Utilization of information “push” technology
US5778227A (en) 1995-08-01 1998-07-07 Intergraph Corporation System for adding attributes to an object at run time in an object oriented computer environment
US5634053A (en) 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases
US5754111A (en) 1995-09-20 1998-05-19 Garcia; Alfredo Medical alerting system
US5774670A (en) * 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US5787283A (en) * 1995-10-27 1998-07-28 International Business Machines Corporation Framework for manufacturing logistics decision support
US5790785A (en) 1995-12-11 1998-08-04 Customer Communications Group, Inc. World Wide Web registration information processing system
JPH09167141A (ja) * 1995-12-18 1997-06-24 Hitachi Ltd 負荷分散制御方法
US5787427A (en) 1996-01-03 1998-07-28 International Business Machines Corporation Information handling system, method, and article of manufacture for efficient object security processing by grouping objects sharing common control access policies
US5873084A (en) * 1996-01-18 1999-02-16 Sun Microsystems, Inc. Database network connectivity product
US6047327A (en) * 1996-02-16 2000-04-04 Intel Corporation System for distributing electronic information to a targeted group of users
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5911139A (en) 1996-03-29 1999-06-08 Virage, Inc. Visual image database search engine which allows for different schema
US5867799A (en) 1996-04-04 1999-02-02 Lang; Andrew K. Information system and method for filtering a massive flow of information entities to meet user information classification needs
US6247026B1 (en) * 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
AUPN955096A0 (en) 1996-04-29 1996-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Telecommunications information dissemination system
US5933820A (en) 1996-05-20 1999-08-03 International Business Machines Corporation System, method, and program for using direct and indirect pointers to logically related data and targets of indexes
US5872926A (en) 1996-05-31 1999-02-16 Adaptive Micro Systems, Inc. Integrated message system
US6044224A (en) 1996-06-26 2000-03-28 Sun Microsystems, Inc. Mechanism for dynamically associating a service dependent representation with objects at run time
US5835722A (en) 1996-06-27 1998-11-10 Logon Data Corporation System to control content and prohibit certain interactive attempts by a person using a personal computer
US5826252A (en) * 1996-06-28 1998-10-20 General Electric Company System for managing multiple projects of similar type using dynamically updated global database
US6088451A (en) * 1996-06-28 2000-07-11 Mci Communications Corporation Security system and method for network element access
US6021403A (en) 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US6721941B1 (en) * 1996-08-27 2004-04-13 Compuware Corporation Collection of timing and coverage data through a debugging interface
US5926810A (en) 1996-08-30 1999-07-20 Oracle Corporation Universal schema system
JPH1074159A (ja) * 1996-08-30 1998-03-17 Hitachi Ltd 計算機システムの制御方法
DE19636367A1 (de) 1996-09-06 1998-03-12 Emitec Emissionstechnologie Verfahren und Vorrichtungen zum Herstellen eines Metallbleches mit einer Wellung und einer quer dazu liegenden Mikrostruktur
US5870739A (en) 1996-09-20 1999-02-09 Novell, Inc. Hybrid query apparatus and method
US5684950A (en) * 1996-09-23 1997-11-04 Lockheed Martin Corporation Method and system for authenticating users to multiple computer servers via a single sign-on
US6018343A (en) 1996-09-27 2000-01-25 Timecruiser Computing Corp. Web calendar architecture and uses thereof
US5870759A (en) 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image of data
US5944823A (en) * 1996-10-21 1999-08-31 International Business Machines Corporations Outside access to computer resources through a firewall
US5790790A (en) 1996-10-24 1998-08-04 Tumbleweed Software Corporation Electronic document delivery system in which notification of said electronic document is sent to a recipient thereof
US5809509A (en) 1996-10-25 1998-09-15 International Business Machines Corporation Method for using a non-object-oriented datastore as a generic persistent datastore for persistent objects
US9418381B2 (en) 2000-04-14 2016-08-16 Citigroup Credit Services, Inc. (USA) Method and system for notifying customers of transaction opportunities
US5937189A (en) * 1996-11-12 1999-08-10 International Business Machines Corporation Object oriented framework mechanism for determining configuration relations
US6385715B1 (en) 1996-11-13 2002-05-07 Intel Corporation Multi-threading for a processor utilizing a replay queue
US6023765A (en) 1996-12-06 2000-02-08 The United States Of America As Represented By The Secretary Of Commerce Implementation of role-based access control in multi-level secure systems
US5864870A (en) 1996-12-18 1999-01-26 Unisys Corp. Method for storing/retrieving files of various formats in an object database using a virtual multimedia file system
US5748890A (en) * 1996-12-23 1998-05-05 U S West, Inc. Method and system for authenticating and auditing access by a user to non-natively secured applications
US6049821A (en) 1997-01-24 2000-04-11 Motorola, Inc. Proxy host computer and method for accessing and retrieving information between a browser and a proxy
WO1998035468A2 (en) 1997-01-27 1998-08-13 Benjamin Slotznick System for delivering and displaying primary and secondary information
US5864848A (en) 1997-01-31 1999-01-26 Microsoft Corporation Goal-driven information interpretation and extraction system
AUPO527497A0 (en) 1997-02-25 1997-03-20 Mclaren Software Technology Pty Ltd Application messaging system
US6003079A (en) 1997-02-27 1999-12-14 Hewlett Packard Company System and method for continuously measuring quality of service in a federated application environment
JP3497342B2 (ja) 1997-02-27 2004-02-16 株式会社日立製作所 クライアント・サーバシステム、サーバ、クライアント処理方法及びサーバ処理方法
US5930801A (en) 1997-03-07 1999-07-27 Xerox Corporation Shared-data environment in which each file has independent security properties
US5990883A (en) 1997-04-28 1999-11-23 Microsoft Corporation Unified presentation of programming from different physical sources
JP3977484B2 (ja) 1997-05-08 2007-09-19 矢崎総業株式会社 状態情報の管理方法及び通信システム
US5987454A (en) 1997-06-09 1999-11-16 Hobbs; Allen Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource
US5933626A (en) 1997-06-12 1999-08-03 Advanced Micro Devices, Inc. Apparatus and method for tracing microprocessor instructions
US6092101A (en) 1997-06-16 2000-07-18 Digital Equipment Corporation Method for filtering mail messages for a plurality of client computers connected to a mail service system
US6185551B1 (en) 1997-06-16 2001-02-06 Digital Equipment Corporation Web-based electronic mail service apparatus and method using full text and label indexing
US6282548B1 (en) 1997-06-21 2001-08-28 Alexa Internet Automatically generate and displaying metadata as supplemental information concurrently with the web page, there being no link between web page and metadata
US6195662B1 (en) 1997-06-27 2001-02-27 Juxtacomm Technologies Inc. System for transforming and exchanging data between distributed heterogeneous computer systems
JPH1185750A (ja) 1997-07-08 1999-03-30 Hitachi Ltd 構造化文書処理方法および装置および構造化文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体
US20030018771A1 (en) 1997-07-15 2003-01-23 Computer Associates Think, Inc. Method and apparatus for generating and recognizing speech as a user interface element in systems and network management
US6317131B2 (en) 1997-07-15 2001-11-13 At&T Corp. Interaction modalities for multimedia delivery and presentation using nodes
US6044372A (en) 1997-07-18 2000-03-28 Dazel Corporation Method and apparatus for publishing information to a communications network and enabling subscriptions to such information
US6317795B1 (en) 1997-07-22 2001-11-13 International Business Machines Corporation Dynamic modification of multimedia content
US6944658B1 (en) 1997-07-25 2005-09-13 Eric Schneider Content notification method, product, and apparatus
US6314555B1 (en) * 1997-07-25 2001-11-06 British Telecommunications Public Limited Company Software system generation
US6442549B1 (en) 1997-07-25 2002-08-27 Eric Schneider Method, product, and apparatus for processing reusable information
US5956730A (en) 1997-08-15 1999-09-21 International Business Machines Corporation Legacy subclassing
US6542923B2 (en) 1997-08-21 2003-04-01 Planet Web, Inc. Active electronic mail
US6226642B1 (en) * 1997-09-11 2001-05-01 International Business Machines Corporation Content modification of internet web pages for a television class display
US6272506B1 (en) 1997-09-12 2001-08-07 Doxis, Llc Computerized verification form processing system and method
US5983273A (en) 1997-09-16 1999-11-09 Webtv Networks, Inc. Method and apparatus for providing physical security for a user account and providing access to the user's environment and preferences
US6016394A (en) 1997-09-17 2000-01-18 Tenfold Corporation Method and system for database application software creation requiring minimal programming
US6119122A (en) 1997-09-17 2000-09-12 Novell, Inc. Method and apparatus for generically viewing and editing objects
US5983234A (en) 1997-09-17 1999-11-09 Novell, Inc. Method and apparatus for generically viewing and editing objects
JP3300262B2 (ja) 1997-09-22 2002-07-08 富士通株式会社 移動通信システム及び移動端末
US5974443A (en) 1997-09-26 1999-10-26 Intervoice Limited Partnership Combined internet and data access system
US6192408B1 (en) 1997-09-26 2001-02-20 Emc Corporation Network file server sharing local caches of file access information in data processors assigned to respective file systems
US6081840A (en) 1997-10-14 2000-06-27 Zhao; Yan Two-level content distribution system
US20020002458A1 (en) 1997-10-22 2002-01-03 David E. Owen System and method for representing complex information auditorially
US6546405B2 (en) 1997-10-23 2003-04-08 Microsoft Corporation Annotating temporally-dimensioned multimedia content
US6317868B1 (en) * 1997-10-24 2001-11-13 University Of Washington Process for transparently enforcing protection domains and access control as well as auditing operations in software components
JP4035872B2 (ja) 1997-10-27 2008-01-23 株式会社日立製作所 ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム
US6269369B1 (en) 1997-11-02 2001-07-31 Amazon.Com Holdings, Inc. Networked personal contact manager
AU1367699A (en) * 1997-11-03 1999-05-24 Arial Systems Corporation Personnel and asset tracking method and apparatus
JPH11143827A (ja) 1997-11-04 1999-05-28 Toshiba Corp 計算機資源割り当てシステム、携帯端末及び計算機資源管理方法
US6457066B1 (en) 1997-11-10 2002-09-24 Microsoft Corporation Simple object access protocol
US5974416A (en) 1997-11-10 1999-10-26 Microsoft Corporation Method of creating a tabular data stream for sending rows of data between client and server
US6282709B1 (en) * 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager
EP0917119A3 (de) 1997-11-12 2001-01-10 Citicorp Development Center, Inc. Verteilte netzwerkbasierte elektronische Geldbörse
US6308216B1 (en) 1997-11-14 2001-10-23 International Business Machines Corporation Service request routing using quality-of-service data and network resource information
US6202066B1 (en) 1997-11-19 2001-03-13 The United States Of America As Represented By The Secretary Of Commerce Implementation of role/group permission association using object access type
US6216132B1 (en) 1997-11-20 2001-04-10 International Business Machines Corporation Method and system for matching consumers to events
US6654747B1 (en) 1997-12-02 2003-11-25 International Business Machines Corporation Modular scalable system for managing data in a heterogeneous environment with generic structure for control repository access transactions
US6330610B1 (en) 1997-12-04 2001-12-11 Eric E. Docter Multi-stage data filtering system employing multiple filtering criteria
US6253204B1 (en) 1997-12-17 2001-06-26 Sun Microsystems, Inc. Restoring broken links utilizing a spider process
US6122348A (en) 1997-12-22 2000-09-19 Nortel Networks Corporation System and method for managing incoming communication events using multiple media options
GB2332809A (en) 1997-12-24 1999-06-30 Northern Telecom Ltd Least cost routing
US5999932A (en) 1998-01-13 1999-12-07 Bright Light Technologies, Inc. System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing
US6480830B1 (en) 1998-01-29 2002-11-12 International Business Machines Corporation Active calendar system
US6151624A (en) 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
US6282698B1 (en) * 1998-02-09 2001-08-28 Lucent Technologies Inc. Detecting similarities in Java sources from bytecodes
US6148302A (en) 1998-02-26 2000-11-14 Sun Microsystems, Inc. Method, apparatus, system and computer program product for initializing a data structure at its first active use
AU769336B2 (en) 1998-02-27 2004-01-22 Beh Investments Llc System and method for building user profiles
US6065012A (en) 1998-02-27 2000-05-16 Microsoft Corporation System and method for displaying and manipulating user-relevant data
US6148336A (en) 1998-03-13 2000-11-14 Deterministic Networks, Inc. Ordering of multiple plugin applications using extensible layered service provider with network traffic filtering
EP0949787A1 (de) 1998-03-18 1999-10-13 Sony International (Europe) GmbH Internetkonto für Mehrfachpersönlichkeit
US7028312B1 (en) 1998-03-23 2006-04-11 Webmethods XML remote procedure call (XML-RPC)
US7302402B2 (en) * 1998-03-30 2007-11-27 International Business Machines Corporation Method, system and program products for sharing state information across domains
US6192380B1 (en) 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
US6065055A (en) 1998-04-20 2000-05-16 Hughes; Patrick Alan Inappropriate site management software
US6301012B1 (en) 1998-04-24 2001-10-09 Hewlett-Packard Company Automatic configuration of a network printer
US6167402A (en) 1998-04-27 2000-12-26 Sun Microsystems, Inc. High performance message store
US6122629A (en) 1998-04-30 2000-09-19 Compaq Computer Corporation Filesystem data integrity in a single system image environment
US6144996A (en) * 1998-05-13 2000-11-07 Compaq Computer Corporation Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network
US6052720A (en) 1998-05-14 2000-04-18 Sun Microsystems, Inc. Generic schema for storing configuration information on a server computer
US6161125A (en) 1998-05-14 2000-12-12 Sun Microsystems, Inc. Generic schema for storing configuration information on a client computer
US6308273B1 (en) 1998-06-12 2001-10-23 Microsoft Corporation Method and system of security location discrimination
US6279111B1 (en) 1998-06-12 2001-08-21 Microsoft Corporation Security model using restricted tokens
US6604143B1 (en) 1998-06-19 2003-08-05 Sun Microsystems, Inc. Scalable proxy servers with plug-in filters
US6101480A (en) 1998-06-19 2000-08-08 International Business Machines Electronic calendar with group scheduling and automated scheduling techniques for coordinating conflicting schedules
US6141778A (en) 1998-06-29 2000-10-31 Mci Communications Corporation Method and apparatus for automating security functions in a computer system
US6199081B1 (en) 1998-06-30 2001-03-06 Microsoft Corporation Automatic tagging of documents and exclusion by content
US6148301A (en) 1998-07-02 2000-11-14 First Data Corporation Information distribution system
US6327574B1 (en) 1998-07-07 2001-12-04 Encirq Corporation Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
US6182142B1 (en) 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6490721B1 (en) 1998-07-14 2002-12-03 Oc Systems Incorporated Software debugging method and apparatus
US6553427B1 (en) 1998-07-24 2003-04-22 Mci Communications Corporation Object-oriented encapsulation of a telecommunications service protocol interface
US6694429B1 (en) 1998-08-04 2004-02-17 At&T Corp. Method for establishing call state information without maintaining state information at gate controllers
JP3558887B2 (ja) * 1998-08-28 2004-08-25 株式会社東芝 分散システム、その制御方法、および記憶媒体
US6167408A (en) 1998-08-31 2000-12-26 International Business Machines Corporation Comparative updates tracking to synchronize local operating parameters with centrally maintained reference parameters in a multiprocessing system
US6351843B1 (en) 1998-08-31 2002-02-26 International Business Machines Corporation Dynamically inserting a function into an application executable at runtime
US6256664B1 (en) 1998-09-01 2001-07-03 Bigfix, Inc. Method and apparatus for computed relevance messaging
US7197534B2 (en) * 1998-09-01 2007-03-27 Big Fix, Inc. Method and apparatus for inspecting the properties of a computer
US6148290A (en) 1998-09-04 2000-11-14 International Business Machines Corporation Service contract for managing service systems
US6516341B2 (en) 1998-09-14 2003-02-04 Juno Online Services, Inc. Electronic mail system with advertising
WO2000016209A1 (en) 1998-09-15 2000-03-23 Local2Me.Com, Inc. Dynamic matchingtm of users for group communication
US6453317B1 (en) 1998-09-29 2002-09-17 Worldcom, Inc. Customer information storage and delivery system
US6253203B1 (en) 1998-10-02 2001-06-26 Ncr Corporation Privacy-enhanced database
US6480850B1 (en) 1998-10-02 2002-11-12 Ncr Corporation System and method for managing data privacy in a database management system including a dependently connected privacy data mart
US6275824B1 (en) 1998-10-02 2001-08-14 Ncr Corporation System and method for managing data privacy in a database management system
US6226792B1 (en) * 1998-10-14 2001-05-01 Unisys Corporation Object management system supporting the use of application domain knowledge mapped to technology domain knowledge
US8006177B1 (en) 1998-10-16 2011-08-23 Open Invention Network, Llc Documents for commerce in trading partner networks and interface definitions based on the documents
US6324544B1 (en) 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
US6163794A (en) 1998-10-23 2000-12-19 General Magic Network system extensible by users
ATE273538T1 (de) 1998-10-28 2004-08-15 Verticalone Corp Gerät und verfahren für automatische aggregation und abgabe von elektronischer persönlicher information oder daten
WO2000026750A1 (en) 1998-11-05 2000-05-11 NEUVIS, Inc Method for controlling access to information
US6910179B1 (en) 1998-11-10 2005-06-21 Clarita Corporation Method and apparatus for automatic form filling
US6397246B1 (en) 1998-11-13 2002-05-28 International Business Machines Corporation Method and system for processing document requests in a network system
JP2000163345A (ja) 1998-11-25 2000-06-16 Seiko Epson Corp デバイス制御システムおよび情報登録方法、デバイス利用方法、並びにコンピュータプログラムを記録した記録媒体
US6263498B1 (en) * 1998-12-03 2001-07-17 International Business Machines Corporation Method and apparatus for enabling server side distributed object modification
US6336118B1 (en) 1998-12-03 2002-01-01 International Business Machines Corporation Framework within a data processing system for manipulating program objects
JP2000172657A (ja) * 1998-12-08 2000-06-23 Fujitsu Ltd 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置
US6791580B1 (en) * 1998-12-18 2004-09-14 Tangis Corporation Supplying notifications related to supply and consumption of user context data
US6711612B1 (en) 1998-12-18 2004-03-23 Emc Corporation System for facilitating the transfer of management information from a remote mass storage subsystem over a switching fabric or selectively over a private link to a central location for servicing
US6513046B1 (en) 1999-12-15 2003-01-28 Tangis Corporation Storing and recalling information to augment human memories
US6466232B1 (en) 1998-12-18 2002-10-15 Tangis Corporation Method and system for controlling presentation of information to a user based on the user's condition
US6801223B1 (en) 1998-12-18 2004-10-05 Tangis Corporation Managing interactions between computer users' context models
US6470450B1 (en) 1998-12-23 2002-10-22 Entrust Technologies Limited Method and apparatus for controlling application access to limited access based data
US6349307B1 (en) 1998-12-28 2002-02-19 U.S. Philips Corporation Cooperative topical servers with automatic prefiltering and routing
CA2292530C (en) * 1998-12-29 2004-09-21 Swisscom Ag Method and system to provide objects to users of a telecommunications network
KR20000046131A (ko) 1998-12-31 2000-07-25 김영환 Cdma 시스템에서 교환기와 tmn 중계기 간 다량의 구성데이터를 일치시키는 장치 및 그 제어방법
US6311206B1 (en) 1999-01-13 2001-10-30 International Business Machines Corporation Method and apparatus for providing awareness-triggered push
US6370537B1 (en) 1999-01-14 2002-04-09 Altoweb, Inc. System and method for the manipulation and display of structured data
US6266690B1 (en) 1999-01-27 2001-07-24 Adc Telecommunications, Inc. Enhanced service platform with secure system and method for subscriber profile customization
US6857013B2 (en) 1999-01-29 2005-02-15 Intermec Ip.Corp. Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
US6463462B1 (en) 1999-02-02 2002-10-08 Dialogic Communications Corporation Automated system and method for delivery of messages and processing of message responses
US6480860B1 (en) 1999-02-11 2002-11-12 International Business Machines Corporation Tagged markup language interface with document type definition to access data in object oriented database
ATE496452T1 (de) * 1999-02-19 2011-02-15 Nokia Siemens Networks Oy Netzwerk-anordnung für kommunikation
DK1157344T3 (da) 1999-02-26 2003-03-17 America Online Inc Proxyserver til komplettering af en klientanordning med brugerprofildata
US6401085B1 (en) 1999-03-05 2002-06-04 Accenture Llp Mobile communication and computing system and method
US6023223A (en) 1999-03-18 2000-02-08 Baxter, Jr.; John Francis Early warning detection and notification network for environmental conditions
US6741980B1 (en) * 1999-03-23 2004-05-25 Microstrategy Inc. System and method for automatic, real-time delivery of personalized informational and transactional data to users via content delivery device
US6820204B1 (en) 1999-03-31 2004-11-16 Nimesh Desai System and method for selective information exchange
US6505167B1 (en) 1999-04-20 2003-01-07 Microsoft Corp. Systems and methods for directing automated services for messaging and scheduling
US6345279B1 (en) 1999-04-23 2002-02-05 International Business Machines Corporation Methods and apparatus for adapting multimedia content for client devices
US6560565B2 (en) * 1999-04-30 2003-05-06 Veritas Dgc Inc. Satellite-based seismic mobile information and control system
US6459913B2 (en) * 1999-05-03 2002-10-01 At&T Corp. Unified alerting device and method for alerting a subscriber in a communication network based upon the result of logical functions
US6343287B1 (en) 1999-05-19 2002-01-29 Sun Microsystems, Inc. External data store link for a profile service
US6757720B1 (en) 1999-05-19 2004-06-29 Sun Microsystems, Inc. Profile service architecture
US6542515B1 (en) 1999-05-19 2003-04-01 Sun Microsystems, Inc. Profile service
US6356940B1 (en) 1999-05-26 2002-03-12 Brian Robert Short Method and system of electronically logging remote user dietary information, and generating and automatically sending suggested dietary modifications
US6519571B1 (en) 1999-05-27 2003-02-11 Accenture Llp Dynamic customer profile management
US6351744B1 (en) 1999-05-28 2002-02-26 Unisys Corporation Multi-processor system for database management
US6411992B1 (en) * 1999-05-28 2002-06-25 Qwest Communications Int'l, Inc. Method and apparatus for broadcasting information over a network
US7472349B1 (en) 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6792605B1 (en) 1999-06-10 2004-09-14 Bow Street Software, Inc. Method and apparatus for providing web based services using an XML Runtime model to store state session data
US6910068B2 (en) 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US6711585B1 (en) 1999-06-15 2004-03-23 Kanisa Inc. System and method for implementing a knowledge management system
US6574655B1 (en) 1999-06-29 2003-06-03 Thomson Licensing Sa Associative management of multimedia assets and associated resources using multi-domain agent-based communication between heterogeneous peers
US6526438B1 (en) 1999-07-12 2003-02-25 Divine, Inc. Method for distributing information to subscribers over a network
US6405191B1 (en) 1999-07-21 2002-06-11 Oracle Corporation Content based publish-and-subscribe system integrated in a relational database system
US6959415B1 (en) 1999-07-26 2005-10-25 Microsoft Corporation Methods and apparatus for parsing Extensible Markup Language (XML) data streams
US6714967B1 (en) 1999-07-30 2004-03-30 Microsoft Corporation Integration of a computer-based message priority system with mobile electronic devices
US6618716B1 (en) 1999-07-30 2003-09-09 Microsoft Corporation Computational architecture for managing the transmittal and rendering of information, alerts, and notifications
US6622160B1 (en) 1999-07-30 2003-09-16 Microsoft Corporation Methods for routing items for communications based on a measure of criticality
US6718535B1 (en) * 1999-07-30 2004-04-06 Accenture Llp System, method and article of manufacture for an activity framework design in an e-commerce based environment
US6601233B1 (en) * 1999-07-30 2003-07-29 Accenture Llp Business components framework
US6510439B1 (en) 1999-08-06 2003-01-21 Lucent Technologies Inc. Method and system for consistent update and retrieval of document in a WWW server
US6381465B1 (en) 1999-08-27 2002-04-30 Leap Wireless International, Inc. System and method for attaching an advertisement to an SMS message for wireless transmission
US6662357B1 (en) * 1999-08-31 2003-12-09 Accenture Llp Managing information in an integrated development architecture framework
US7343351B1 (en) 1999-08-31 2008-03-11 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US6405364B1 (en) * 1999-08-31 2002-06-11 Accenture Llp Building techniques in a development architecture framework
US6651217B1 (en) 1999-09-01 2003-11-18 Microsoft Corporation System and method for populating forms with previously used data values
US6748555B1 (en) * 1999-09-09 2004-06-08 Microsoft Corporation Object-based software management
US6343324B1 (en) 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
US6732080B1 (en) 1999-09-15 2004-05-04 Nokia Corporation System and method of providing personal calendar services
US6360252B1 (en) 1999-09-20 2002-03-19 Fusionone, Inc. Managing the transfer of e-mail attachments to rendering devices other than an original e-mail recipient
US6314447B1 (en) * 1999-10-04 2001-11-06 Sony Corporation System uses local registry and load balancing procedure for identifying processing capabilities of a remote device to perform a processing task
US7210147B1 (en) 1999-10-05 2007-04-24 Veritas Operating Corporation IP virtualization
US20030140112A1 (en) 1999-11-04 2003-07-24 Satish Ramachandran Electronic messaging system method and apparatus
US6609148B1 (en) 1999-11-10 2003-08-19 Randy Salo Clients remote access to enterprise networks employing enterprise gateway servers in a centralized data center converting plurality of data requests for messaging and collaboration into a single request
US6993502B1 (en) 1999-11-11 2006-01-31 Cch Incorporated Transaction tax collection system and method
US6823458B1 (en) 1999-11-18 2004-11-23 International Business Machines Corporation Apparatus and method for securing resources shared by multiple operating systems
US6556995B1 (en) 1999-11-18 2003-04-29 International Business Machines Corporation Method to provide global sign-on for ODBC-based database applications
US6850975B1 (en) 1999-11-29 2005-02-01 Intel Corporation Web site monitoring
US20040078273A1 (en) 1999-12-08 2004-04-22 Loeb Michael R. Method and apparatus for relational linking based upon customer activities
JP3546787B2 (ja) 1999-12-16 2004-07-28 インターナショナル・ビジネス・マシーンズ・コーポレーション アクセス制御システム、アクセス制御方法、及び記憶媒体
JP2001175606A (ja) * 1999-12-20 2001-06-29 Sony Corp データ処理装置、データ処理機器およびその方法
JP2001188965A (ja) 1999-12-28 2001-07-10 Optrom Inc 記憶媒体及び該記憶媒体を用いた情報管理方法と情報処理システム
US20040193444A1 (en) 1999-12-28 2004-09-30 Wendy Hufford Computer system for managing litigation risk early warning system
US6499077B1 (en) 1999-12-30 2002-12-24 Intel Corporation Bus interface unit for reflecting state information for a transfer request to a requesting device
US20020010781A1 (en) 1999-12-30 2002-01-24 Tuatini Jeffrey Taihana Shared service messaging models
US20010047385A1 (en) 1999-12-30 2001-11-29 Jeffrey Tuatini Passthru to shared service funtionality
US6697865B1 (en) 2000-01-04 2004-02-24 E.Piphany, Inc. Managing relationships of parties interacting on a network
US6708217B1 (en) 2000-01-05 2004-03-16 International Business Machines Corporation Method and system for receiving and demultiplexing multi-modal document content
US6845448B1 (en) 2000-01-07 2005-01-18 Pennar Software Corporation Online repository for personal information
US6643652B2 (en) 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
AU2001227857A1 (en) 2000-01-14 2001-07-24 Saba Software, Inc. Method and apparatus for a business applications management system platform
US6757898B1 (en) 2000-01-18 2004-06-29 Mckesson Information Solutions, Inc. Electronic provider—patient interface system
US7024692B1 (en) 2000-01-21 2006-04-04 Unisys Corporation Non pre-authenticated kerberos logon via asynchronous message mechanism
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
WO2001055870A1 (en) 2000-01-26 2001-08-02 Yefim Zhuk Distributed active knowledge and process base
US6591260B1 (en) 2000-01-28 2003-07-08 Commerce One Operations, Inc. Method of retrieving schemas for interpreting documents in an electronic commerce system
US20010029470A1 (en) 2000-02-03 2001-10-11 R. Steven Schultz Electronic transaction receipt system and method
US6816878B1 (en) 2000-02-11 2004-11-09 Steven L. Zimmers Alert notification system
EP1128266A3 (de) * 2000-02-22 2004-02-25 Orsus Solutions Limited Kooperative Softwareanwendungsarchitektur
CA2400442A1 (en) 2000-02-25 2001-08-30 Yet Mui Method for enterprise workforce planning
US6446118B1 (en) 2000-02-29 2002-09-03 Designtech International, Inc. E-mail notification device
US7243130B2 (en) 2000-03-16 2007-07-10 Microsoft Corporation Notification platform architecture
US7634528B2 (en) 2000-03-16 2009-12-15 Microsoft Corporation Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services
US7249159B1 (en) 2000-03-16 2007-07-24 Microsoft Corporation Notification platform architecture
US6604099B1 (en) 2000-03-20 2003-08-05 International Business Machines Corporation Majority schema in semi-structured data
US6738767B1 (en) 2000-03-20 2004-05-18 International Business Machines Corporation System and method for discovering schematic structure in hypertext documents
US6820082B1 (en) 2000-04-03 2004-11-16 Allegis Corporation Rule based database security system and method
JP2003531427A (ja) * 2000-04-17 2003-10-21 ロニー・エス・クラボー データ検索のためのステートレス機構
US6917373B2 (en) 2000-12-28 2005-07-12 Microsoft Corporation Context sensitive labels for an electronic device
US6584564B2 (en) 2000-04-25 2003-06-24 Sigaba Corporation Secure e-mail system
US6731940B1 (en) * 2000-04-28 2004-05-04 Trafficmaster Usa, Inc. Methods of using wireless geolocation to customize content and delivery of information to wireless communication devices
US6981028B1 (en) 2000-04-28 2005-12-27 Obongo, Inc. Method and system of implementing recorded data for automating internet interactions
US6601016B1 (en) 2000-04-28 2003-07-29 International Business Machines Corporation Monitoring fitness activity across diverse exercise machines utilizing a universally accessible server system
US6799208B1 (en) * 2000-05-02 2004-09-28 Microsoft Corporation Resource manager architecture
US7191236B2 (en) 2000-05-02 2007-03-13 Canon Kabushiki Kaisha Transparent telecommunications system and apparatus
US6976078B1 (en) 2000-05-08 2005-12-13 International Business Machines Corporation Process for simultaneous user access using access control structures for authoring systems
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US6868447B1 (en) 2000-05-09 2005-03-15 Sun Microsystems, Inc. Mechanism and apparatus for returning results of services in a distributed computing environment
US6850979B1 (en) 2000-05-09 2005-02-01 Sun Microsystems, Inc. Message gates in a distributed computing environment
ATE261145T1 (de) 2000-05-09 2004-03-15 Sun Microsystems Inc Verfahren und vorrichtung zur ermittlung von benachbarten diensten
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US6898618B1 (en) * 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US7072967B1 (en) 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US6917976B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Message-based leasing of resources in a distributed computing environment
JP2001325869A (ja) * 2000-05-17 2001-11-22 Sony Chem Corp 保護素子
US6772216B1 (en) 2000-05-19 2004-08-03 Sun Microsystems, Inc. Interaction protocol for managing cross company processes among network-distributed applications
US7062642B1 (en) * 2000-05-20 2006-06-13 Ciena Corporation Policy based provisioning of network device resources
JP3642004B2 (ja) * 2000-05-22 2005-04-27 日本電気株式会社 中継装置、移動体無線通信システム、その障害通知方法、及びその障害通知プログラムを記録した記録媒体
US7136913B2 (en) 2000-05-31 2006-11-14 Lab 7 Networks, Inc. Object oriented communication among platform independent systems across a firewall over the internet using HTTP-SOAP
US6594672B1 (en) 2000-06-01 2003-07-15 Hyperion Solutions Corporation Generating multidimensional output using meta-models and meta-outlines
US20020019828A1 (en) 2000-06-09 2002-02-14 Mortl William M. Computer-implemented method and apparatus for obtaining permission based data
US6684204B1 (en) 2000-06-19 2004-01-27 International Business Machines Corporation Method for conducting a search on a network which includes documents having a plurality of tags
US20020016173A1 (en) 2000-06-21 2002-02-07 Hunzinger Jason F. Communication of location information in a wireless communication system
US6748417B1 (en) 2000-06-22 2004-06-08 Microsoft Corporation Autonomous network service configuration
CN1300677C (zh) * 2000-06-22 2007-02-14 微软公司 分布式计算服务平台
AU2001273111A1 (en) * 2000-06-30 2002-01-14 Anthony Romito Method and apparatus for a GIS based search engine utilizing real time advertising
US9038170B2 (en) 2000-07-10 2015-05-19 Oracle International Corporation Logging access system events
US6763384B1 (en) 2000-07-10 2004-07-13 International Business Machines Corporation Event-triggered notification over a network
US6925307B1 (en) 2000-07-13 2005-08-02 Gtech Global Services Corporation Mixed-mode interaction
US7031945B1 (en) 2000-07-24 2006-04-18 Donner Irah H System and method for reallocating and/or upgrading and/or rewarding tickets, other event admittance means, goods and/or services
JP3833450B2 (ja) * 2000-07-27 2006-10-11 三菱電機株式会社 通信制御方式及びルータ
US6601075B1 (en) 2000-07-27 2003-07-29 International Business Machines Corporation System and method of ranking and retrieving documents based on authority scores of schemas and documents
US6766362B1 (en) * 2000-07-28 2004-07-20 Seiko Epson Corporation Providing a network-based personalized newspaper with personalized content and layout
US6944662B2 (en) 2000-08-04 2005-09-13 Vinestone Corporation System and methods providing automatic distributed data retrieval, analysis and reporting services
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US20040015725A1 (en) 2000-08-07 2004-01-22 Dan Boneh Client-side inspection and processing of secure content
US6574631B1 (en) 2000-08-09 2003-06-03 Oracle International Corporation Methods and systems for runtime optimization and customization of database applications and application entities
JP4049525B2 (ja) 2000-08-16 2008-02-20 富士通株式会社 分散処理システム
US20020026426A1 (en) 2000-08-24 2002-02-28 Bennett Joseph Michael Method of accessing the internet via the use of automated teller machines
TW512640B (en) * 2000-08-25 2002-12-01 Phone Inc W Mobile opinion polling system and method
US6957199B1 (en) 2000-08-30 2005-10-18 Douglas Fisher Method, system and service for conducting authenticated business transactions
US6745011B1 (en) 2000-09-01 2004-06-01 Telephia, Inc. System and method for measuring wireless device and network usage and performance metrics
US6754470B2 (en) 2000-09-01 2004-06-22 Telephia, Inc. System and method for measuring wireless device and network usage and performance metrics
US6954751B2 (en) 2000-09-06 2005-10-11 Oracle International Corporation Accessing data stored at an intermediary from a service
US6686838B1 (en) 2000-09-06 2004-02-03 Xanboo Inc. Systems and methods for the automatic registration of devices
US6823495B1 (en) 2000-09-14 2004-11-23 Microsoft Corporation Mapping tool graphical user interface
EP1189159A1 (de) 2000-09-19 2002-03-20 Niels Mache System zum Verarbeiten von Transaktionen betreffend den Austausch von ähnlichen Werten
US6934740B1 (en) 2000-09-19 2005-08-23 3Com Corporation Method and apparatus for sharing common data objects among multiple applications in a client device
US6907465B1 (en) 2000-09-22 2005-06-14 Daniel E. Tsai Electronic commerce using personal preferences
US6594666B1 (en) 2000-09-25 2003-07-15 Oracle International Corp. Location aware application development framework
US6708161B2 (en) 2000-09-26 2004-03-16 I2 Technologies Us, Inc. System and method for selective database indexing
US6604209B1 (en) 2000-09-29 2003-08-05 Sun Microsystems, Inc. Distributed component testing in an enterprise computer system
US6542845B1 (en) 2000-09-29 2003-04-01 Sun Microsystems, Inc. Concurrent execution and logging of a component test in an enterprise computer system
US20020042846A1 (en) * 2000-10-05 2002-04-11 Bottan Gustavo L. Personal support network
AUPR076500A0 (en) 2000-10-13 2000-11-09 Teradyne Pty Ltd A multi-user database for computer-based information
US6414635B1 (en) 2000-10-23 2002-07-02 Wayport, Inc. Geographic-based communication service system with more precise determination of a user's known geographic location
US8868448B2 (en) 2000-10-26 2014-10-21 Liveperson, Inc. Systems and methods to facilitate selling of products and services
CA2324729A1 (en) 2000-10-30 2002-04-30 Ibm Canada Limited-Ibm Canada Limitee System and method for representation of business policy and governing the conduct of business activities using business rules book
US20020059415A1 (en) * 2000-11-01 2002-05-16 Chang William Ho Manager for device-to-device pervasive digital output
FI20002402A (fi) * 2000-11-01 2002-05-02 Nokia Corp Konfiguroinnin hallinta hajautetussa ympäristössä
US6917937B1 (en) 2000-11-01 2005-07-12 Sas Institute Inc. Server-side object filtering
US8996698B1 (en) * 2000-11-03 2015-03-31 Truphone Limited Cooperative network for mobile internet access
WO2002037393A2 (en) 2000-11-06 2002-05-10 Envoy Worlwide, Inc. System and method for service specific notification
CA2326368A1 (en) * 2000-11-20 2002-05-20 Adexact Corporation Method and system for targeted content delivery, presentation, management, and reporting
US20020090934A1 (en) * 2000-11-22 2002-07-11 Mitchelmore Eliott R.D. Content and application delivery and management platform system and method
US6678682B1 (en) 2000-11-28 2004-01-13 G.E. Information Services, Inc. Method, system, and software for enterprise access management control
US7721210B2 (en) 2000-11-29 2010-05-18 Nokia Corporation Electronic calendar system
US20020065881A1 (en) 2000-11-29 2002-05-30 Tapio Mansikkaniemi Wireless family bulletin board
US6832237B1 (en) 2000-12-01 2004-12-14 Unisys Corporation Method and apparatus for selecting and/or changing the display resolution of HTML home pages in a web application development environment
US20020069298A1 (en) 2000-12-01 2002-06-06 Jorgen Birkler Mobile terminal having multiple personal information management functionality
US6868544B2 (en) 2000-12-08 2005-03-15 Telcordia Technologies, Inc. Method and system for general-purpose interactive notifications
US20020129000A1 (en) 2000-12-11 2002-09-12 Vikram Pillai XML file system
US7080406B2 (en) * 2000-12-15 2006-07-18 International Business Machines Corporation Method for transferring privilege access to a resource manager with subsequent loss of privilege by the initiating identity
US20020116232A1 (en) 2000-12-18 2002-08-22 Rapp Larry J. System and method for interactive scheduling
US20030041000A1 (en) 2000-12-18 2003-02-27 Paul Zajac System and method for providing a graphical user interface for a multi-interface financial transaction system
IT1319602B1 (it) 2000-12-21 2003-10-20 Cit Alcatel Metodo per la gestione delle comunicazioni di eventi tra entita'di elaborazione di tipo agent e manager,in un sistema di gestione di
US20040139145A1 (en) 2000-12-21 2004-07-15 Bar-Or Gigy Method and apparatus for scalable distributed storage
US20030220891A1 (en) 2000-12-22 2003-11-27 Fish Robert D Matter management computer software
US20020083073A1 (en) 2000-12-22 2002-06-27 Vaidya Neelam N. Managing a layered hierarchical data set
US6782379B2 (en) 2000-12-22 2004-08-24 Oblix, Inc. Preparing output XML based on selected programs and XML templates
US20030061081A1 (en) 2000-12-26 2003-03-27 Appareon System, method and article of manufacture for collaborative supply chain modules of a supply chain system
US20030074247A1 (en) 2000-12-26 2003-04-17 Appareon System, method, and article of manufacture for manipulating the actors in a supply chain system
US7127514B2 (en) * 2000-12-28 2006-10-24 Microsoft Corporation Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client
US20020087397A1 (en) * 2000-12-28 2002-07-04 Sam Mazza Buying, selling, and marketing advertisements
GB2382898B (en) * 2000-12-29 2005-06-29 Zarlink Semiconductor Ltd A method of managing data
US7464094B2 (en) 2000-12-29 2008-12-09 Gateway Inc. Shared registry with multiple keys for storing preferences and other applications on a local area network
US20020099573A1 (en) 2001-01-24 2002-07-25 Hitachi, Ltd. Network solution system of analysis and evaluation
US7337125B2 (en) 2001-01-25 2008-02-26 International Business Machines Corporation System and method for enhancing sales for service providers utilizing an opportunistic approach based on an unexpected change in schedule of services
US6907457B2 (en) 2001-01-25 2005-06-14 Dell Inc. Architecture for access to embedded files using a SAN intermediate device
US6871232B2 (en) 2001-03-06 2005-03-22 International Business Machines Corporation Method and system for third party resource provisioning management
US7136908B2 (en) 2001-01-29 2006-11-14 Intel Corporation Extensible network services system
US20020104017A1 (en) 2001-01-30 2002-08-01 Rares Stefan Firewall system for protecting network elements connected to a public network
US20020154161A1 (en) 2001-02-01 2002-10-24 Friedman Michael A. Method and system for providing universal remote control of computing devices
US20020120711A1 (en) 2001-02-23 2002-08-29 International Business Machines Corporation Method and system for intelligent routing of business events on a subscription-based service provider network
US20020133477A1 (en) * 2001-03-05 2002-09-19 Glenn Abel Method for profile-based notice and broadcast of multimedia content
US7133869B2 (en) * 2001-03-06 2006-11-07 Knowledge Vector, Inc. Methods and systems for and defining and distributing information alerts
US7681032B2 (en) 2001-03-12 2010-03-16 Portauthority Technologies Inc. System and method for monitoring unauthorized transport of digital content
US20020131428A1 (en) * 2001-03-13 2002-09-19 Vivian Pecus Large edge node for simultaneous video on demand and live streaming of satellite delivered content
US6986145B2 (en) 2001-03-13 2006-01-10 Dipayan Gangopadhyay In-context access to relevant services from multiple applications and information systems by object schema traversal
US7136859B2 (en) 2001-03-14 2006-11-14 Microsoft Corporation Accessing heterogeneous data in a standardized manner
US20020133535A1 (en) 2001-03-14 2002-09-19 Microsoft Corporation Identity-centric data access
WO2002073442A1 (en) 2001-03-14 2002-09-19 Microsoft Corporation Service-to-service communication for network services
US20030101190A1 (en) 2001-03-14 2003-05-29 Microsoft Corporation Schema-based notification service
US7284271B2 (en) 2001-03-14 2007-10-16 Microsoft Corporation Authorizing a requesting entity to operate upon data structures
US7539747B2 (en) 2001-03-14 2009-05-26 Microsoft Corporation Schema-based context service
US20030050911A1 (en) 2001-03-14 2003-03-13 Mark Lucovsky Schema-based services for identity-based access to profile data
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US20030041065A1 (en) 2001-03-14 2003-02-27 Mark Lucovsky Schema-based services for identity-based access to contacts data
US6823369B2 (en) 2001-03-14 2004-11-23 Microsoft Corporation Using state information in requests that are transmitted in a distributed network environment
US20030061365A1 (en) 2001-03-14 2003-03-27 Microsoft Corporation Service-to-service communication for network services
US6985958B2 (en) * 2001-03-14 2006-01-10 Microsoft Corporation Messaging infrastructure for identity-centric data access
US20030131142A1 (en) 2001-03-14 2003-07-10 Horvitz Eric J. Schema-based information preference settings
US20030041076A1 (en) 2001-03-14 2003-02-27 Lucovsky Mark H. Schema-based services for identity-based access to calendar data
US20030023623A1 (en) 2001-03-14 2003-01-30 Horvitz Eric J. Schema-based service for identity-based access to presence data
US20030069887A1 (en) 2001-03-14 2003-04-10 Lucovsky Mark H. Schema-based services for identity-based access to inbox data
US20030115228A1 (en) 2001-03-14 2003-06-19 Horvitz Eric J. Schema-based service for identity-based access to location data
US7024662B2 (en) 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US7415538B2 (en) 2001-03-19 2008-08-19 International Business Machines Corporation Intelligent document filtering
US20060265475A9 (en) 2001-03-19 2006-11-23 Thomas Mayberry Testing web services as components
JP2002279026A (ja) * 2001-03-19 2002-09-27 Nec Corp 番組関心度提示サーバ、番組関心度提示方法、および番組関心度提示プログラム
US20020133752A1 (en) 2001-03-19 2002-09-19 Wesley Hand Component/web service operational profile auto-sequencing
US7072843B2 (en) 2001-03-23 2006-07-04 Restaurant Services, Inc. System, method and computer program product for error checking in a supply chain management framework
US7061928B2 (en) 2001-03-26 2006-06-13 Azurn Networks, Inc. Unified XML voice and data media converging switch and application delivery system
US20030004874A1 (en) 2001-04-03 2003-01-02 Bottomline Technologies (De) Inc. Electronic bill presentment system with client specific formatting of data
US7721110B2 (en) * 2001-04-06 2010-05-18 Mcafee, Inc. System and method for secure and verified sharing of resources in a peer-to-peer network environment
JP2002314549A (ja) 2001-04-18 2002-10-25 Nec Corp ユーザ認証システム及びそれに用いるユーザ認証方法
US6697809B2 (en) 2001-04-19 2004-02-24 Vigilance, Inc. Data retrieval and transmission system
US20020161838A1 (en) * 2001-04-27 2002-10-31 Pickover Cilfford A. Method and apparatus for targeting information
EP1393190A4 (de) * 2001-05-02 2007-07-18 Bitstream Inc Verfahren und systeme zum anzeigen von medien auf skalierte weise und/oder orientiert
US6925481B2 (en) 2001-05-03 2005-08-02 Symantec Corp. Technique for enabling remote data access and manipulation from a pervasive device
US20020184092A1 (en) * 2001-06-01 2002-12-05 Cherry Darrel D. Customized advertising methods for personal media services
US7027051B2 (en) * 2001-06-29 2006-04-11 International Business Machines Corporation Graphical user interface for visualization of sampled data compared to entitled or reference levels
IL144141A0 (en) * 2001-07-04 2002-05-23 Method and system for improving a route along which data is sent using an ip protocol in a data communications network
US7562112B2 (en) * 2001-07-06 2009-07-14 Intel Corporation Method and apparatus for peer-to-peer services for efficient transfer of information between networks
US20020049817A1 (en) 2001-07-12 2002-04-25 Eatamar Drory Storageless system and method for unified messaging on existing mail accounts via standard internet mail protocols
ATE375686T1 (de) 2001-07-12 2007-10-15 Research In Motion Ltd System und verfahren zum datenzugriff für ein mobiles telekommunikationsendgerät
US20030014659A1 (en) 2001-07-16 2003-01-16 Koninklijke Philips Electronics N.V. Personalized filter for Web browsing
US6708137B2 (en) 2001-07-16 2004-03-16 Cable & Wireless Internet Services, Inc. System and method for providing composite variance analysis for network operation
US6958984B2 (en) * 2001-08-02 2005-10-25 Motorola, Inc. Method and apparatus for aggregation of wireless resources of proximal wireless units to facilitate diversity signal combining
US7113771B2 (en) * 2001-08-02 2006-09-26 Motorola, Inc. Method and apparatus for enabling and rewarding wireless resource sharing
US7002942B2 (en) * 2001-08-02 2006-02-21 Motorola, Inc. Method and apparatus for communicating information by splitting information among a plurality of proximal units
US7170857B2 (en) * 2001-08-10 2007-01-30 Strix Systems, Inc. Virtual linking using a wireless device
US7545805B2 (en) 2001-08-15 2009-06-09 Precache, Inc. Method and apparatus for content-based routing and filtering at routers using channels
US20030165139A1 (en) 2001-08-15 2003-09-04 Tsu-Wei Chen Packet routing via payload inspection
US6892201B2 (en) 2001-09-05 2005-05-10 International Business Machines Corporation Apparatus and method for providing access rights information in a portion of a file
US7207008B1 (en) 2001-09-12 2007-04-17 Bellsouth Intellectual Property Corp. Method, system, apparatus, and computer-readable medium for interactive notification of events
US7062533B2 (en) 2001-09-20 2006-06-13 International Business Machines Corporation Specifying monitored user participation in messaging sessions
JP2005504482A (ja) * 2001-09-21 2005-02-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 固有の制御モジュールが無い場合の固有性の低いモジュールの使用
US20040205526A1 (en) 2001-09-28 2004-10-14 Vadim Borodovski Prompted form filling mechanism
US6882706B2 (en) 2001-10-23 2005-04-19 Microsoft Corp. Method and system of providing emergency data
US20030110234A1 (en) 2001-11-08 2003-06-12 Lightsurf Technologies, Inc. System and methodology for delivering media to multiple disparate client devices based on their capabilities
US6885874B2 (en) 2001-11-27 2005-04-26 Motorola, Inc. Group location and route sharing system for communication units in a trunked communication system
US7610390B2 (en) 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
US7487233B2 (en) * 2001-12-05 2009-02-03 Canon Kabushiki Kaisha Device access based on centralized authentication
US20030135556A1 (en) * 2001-12-14 2003-07-17 International Business Machines Corporation Selection of communication strategies for message brokers or publish/subscribe communications
US6543317B1 (en) 2001-12-18 2003-04-08 Beere Precision Medical Instruments, Inc. Screw holder and torquing tool
GB0130626D0 (en) * 2001-12-20 2002-02-06 Ibm Message filtering
US7149219B2 (en) 2001-12-28 2006-12-12 The Directtv Group, Inc. System and method for content filtering using static source routes
JP4629948B2 (ja) 2002-01-11 2011-02-09 富士通株式会社 コンテンツ処理サービス制御システム
US20030133553A1 (en) 2002-01-15 2003-07-17 Khakoo Shabbir A. Method and apparatus for delivering enhanced caller identification services to a called party
US20040205656A1 (en) 2002-01-30 2004-10-14 Benefitnation Document rules data structure and method of document publication therefrom
US20030149646A1 (en) 2002-02-01 2003-08-07 Ubs Painewebber Inc. Method and system for providing an aggregated stock options report
US7152066B2 (en) 2002-02-07 2006-12-19 Seiko Epson Corporation Internet based system for creating presentations
US7149806B2 (en) * 2002-02-27 2006-12-12 Hewlett-Packard Development Company, L.P. Data access in a distributed environment
US20030167334A1 (en) 2002-03-04 2003-09-04 Mark Henry Butler Provision of content to a client device
US7250846B2 (en) 2002-03-05 2007-07-31 International Business Machines Corporation Method and apparatus for providing dynamic user alert
US6816886B2 (en) 2002-03-14 2004-11-09 Microsoft Corporation Measuring performance metrics of networked computing entities
US7219163B2 (en) 2002-03-14 2007-05-15 Hewlett-Packard Development Company, L.P. Method and system that tailors format of transmission to suit client capabilities and link characteristics
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
CN100342367C (zh) 2002-05-10 2007-10-10 微软公司 资源的并发、分布式网络的协作
US7346668B2 (en) 2002-05-17 2008-03-18 Sap Aktiengesellschaft Dynamic presentation of personalized content
US20030221014A1 (en) 2002-05-24 2003-11-27 David Kosiba Method for guaranteed delivery of multimedia content based on terminal capabilities
US7177657B2 (en) 2002-05-30 2007-02-13 Motorola, Inc. Method and apparatus in a wireless communication system for identifying who has received a group message
US7177859B2 (en) 2002-06-26 2007-02-13 Microsoft Corporation Programming model for subscription services
US7260601B1 (en) * 2002-06-28 2007-08-21 Cisco Technology, Inc. Methods and apparatus for transmitting media programs
US20040006590A1 (en) 2002-06-28 2004-01-08 Microsoft Corporation Service for locating centralized schema-based services
US6986121B1 (en) 2002-06-28 2006-01-10 Microsoft Corporation Managing code when communicating using heirarchically-structured data
US7246122B2 (en) 2002-06-28 2007-07-17 Microsoft Corporation Schema-based services for identity-based data access to favorite website data
US7284197B2 (en) 2002-06-28 2007-10-16 Microsoft Corporation Schema-based services for identity-based data access to application settings data
US20040006564A1 (en) 2002-06-28 2004-01-08 Lucovsky Mark H. Schema-based service for identity-based data access to category data
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
US20040010451A1 (en) 2002-07-12 2004-01-15 Romano Aaron A. Method and system for finalizing specific processes through a dynamic system
US7206788B2 (en) 2002-07-30 2007-04-17 Microsoft Corporation Schema-based services for identity-based access to device data
US7389342B2 (en) 2002-07-31 2008-06-17 Intel Corporation Service creator apparatus, systems, and methods
US7216287B2 (en) 2002-08-02 2007-05-08 International Business Machines Corporation Personal voice portal service
US7545762B1 (en) 2002-08-20 2009-06-09 Sprint Spectrum L.P. Method and system for network presence notification
US20040060002A1 (en) 2002-09-12 2004-03-25 Microsoft Corporation Schema-based service for identity-based access to lists
US20050080911A1 (en) 2002-09-17 2005-04-14 Stiers Todd A. System and method for the packaging and distribution of data
US7734028B2 (en) 2002-09-30 2010-06-08 Avaya Inc. Method and apparatus for delivering enhanced caller identification services to a called party
US8489742B2 (en) 2002-10-10 2013-07-16 Convergys Information Management Group, Inc. System and method for work management
US7685315B2 (en) 2002-10-28 2010-03-23 Nokia Corporation System and method for conveying terminal capability and user preferences-dependent content characteristics for content adaptation
US6911143B2 (en) 2002-10-31 2005-06-28 Stanadyne Corporation Base receptacle for filter cartridge incorporating a peripheral compatibility matrix
US7385957B2 (en) 2002-11-14 2008-06-10 Qualcomm Incorporated Methods and apparatus for extending mobile IP
US7937578B2 (en) 2002-11-14 2011-05-03 Qualcomm Incorporated Communications security methods for supporting end-to-end security associations
AU2003299636A1 (en) 2002-12-13 2004-07-09 Wagerworks, Inc. Flexible user interface
US8468227B2 (en) 2002-12-31 2013-06-18 Motorola Solutions, Inc. System and method for rendering content on multiple devices
US20040181550A1 (en) 2003-03-13 2004-09-16 Ville Warsta System and method for efficient adaptation of multimedia message content
US7457879B2 (en) 2003-04-01 2008-11-25 Microsoft Corporation Notification platform architecture
AU2004232040A1 (en) 2003-04-22 2004-11-04 Voice Genesis, Inc. Omnimodal messaging system
US7496630B2 (en) 2003-05-06 2009-02-24 At&T Intellectual Property I, L.P. Adaptive notification delivery in a multi-device environment
US7346630B2 (en) * 2003-06-13 2008-03-18 Yahoo! Inc. Method and system for delivery alerts to a user
US7979448B2 (en) 2003-06-25 2011-07-12 International Business Machines Corporation Mail and calendar tool and method
US7266557B2 (en) 2003-06-25 2007-09-04 International Business Machines Corporation File retrieval method and system
US7418472B2 (en) 2003-09-30 2008-08-26 Microsoft Corporation Systems and methods for determining remote device media capabilities
US7877694B2 (en) 2003-12-05 2011-01-25 Microsoft Corporation Hosted notifications templates
US20050289447A1 (en) 2004-06-29 2005-12-29 The Boeing Company Systems and methods for generating and storing referential links in a database
US7502384B2 (en) 2004-12-20 2009-03-10 Nokia Corporation Systems and methods for providing asynchronous request-response services

Also Published As

Publication number Publication date
JP2004038956A (ja) 2004-02-05
TWI269183B (en) 2006-12-21
RU2003119524A (ru) 2005-01-10
DK1376977T3 (da) 2007-12-17
ZA200303554B (en) 2003-11-12
HU228610B1 (en) 2013-04-29
CO5470296A1 (es) 2004-12-30
CN100465939C (zh) 2009-03-04
IL155804A0 (en) 2003-12-23
ATE370452T1 (de) 2007-09-15
CN1471009A (zh) 2004-01-28
US20040003112A1 (en) 2004-01-01
KR100934336B1 (ko) 2009-12-29
EP1376977A2 (de) 2004-01-02
AU2003204123A1 (en) 2004-01-15
PL360329A1 (en) 2003-12-29
HU0301952D0 (en) 2003-08-28
CA2428481C (en) 2011-11-29
TR200300769A2 (tr) 2004-01-21
MXPA03004409A (es) 2004-09-06
HUP0301952A2 (hu) 2004-01-28
DE60315558D1 (de) 2007-09-27
JP4495410B2 (ja) 2010-07-07
CA2428481A1 (en) 2003-12-28
TW200400440A (en) 2004-01-01
HK1059011A1 (en) 2004-06-11
EP1376977B1 (de) 2007-08-15
NZ525694A (en) 2004-09-24
HUP0301952A3 (en) 2005-04-28
US9886309B2 (en) 2018-02-06
MY139962A (en) 2009-11-30
KR20040002785A (ko) 2004-01-07
RU2324970C2 (ru) 2008-05-20
EP1376977A3 (de) 2004-01-14
NO20032997D0 (no) 2003-06-27
SG110048A1 (en) 2005-04-28
NO20032997L (no) 2003-12-29
IL155804A (en) 2008-11-03
BR0302014A (pt) 2004-08-24
NO329278B1 (no) 2010-09-27

Similar Documents

Publication Publication Date Title
DE60315558T2 (de) Verteiltes Rechnersystem für Vorrichtungsresourcen basierend auf Identität
DE102019133923B4 (de) Anwendungsverwendung in einem behältermanagementsystem
DE602005006391T2 (de) System und verfahren zum asynchronen kommunizieren mit web-diensten unter verwendung von nachrichtensatzdefinitionen
US10079726B1 (en) System and method for displaying and operating multi-layered item list in web browser with supporting of concurrent users
DE69938077T2 (de) Verfahren, Vorrichtung und Programmspeichereinrichtung für einen Klienten und ein adaptiver Synchronisierungs- und Transformierungsserver
DE69728176T2 (de) Verfahren und gerät das verteilte steuerung von gemeinsamen betriebsmitteln erlaubt
DE60131683T2 (de) Verfahren und system zur verwaltung von mehreren netzwerk-betriebsmitteln
DE60009489T2 (de) Vorrichtung und verfahren zum verwalten der verteilung von inhalten zu einem gerät
US10686664B1 (en) System and method for access resources by deploying web based multi-layers item list
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
Lehman et al. Hitting the distributed computing sweet spot with TSpaces
DE60205539T2 (de) Verfahren und Vorrichtung zum Verwalten von mehreren Netzwerkgeräten
DE60127795T2 (de) System und Verfahren zur Metrik- und Statusdarstellung
DE60018803T2 (de) Verfahren und apparat zur verwaltung von information der speicheraktivitäten von datenspeichersystemen
US20070198478A1 (en) Distributed meta data management middleware
DE60036167T2 (de) Verfahren zur Verarbeitung von Geräteinformationen und Netzwerkgerät in einem Geräteinformationsverwaltungssystem
US9390094B2 (en) Method and system for displaying and operating multi-layers item list in web-browser with supporting of concurrent multi-users
DE602005005435T2 (de) System und Verfahren zur Kommunikationsverwaltung von Komponentenanwendungen
DE102007046001A1 (de) System und Verfahren zum dynamischen Laden von Protokolladaptern
DE102017213160A1 (de) Kompilierung für knotenvorrichtungs-GPU-basierte Parallelverarbeitung
DE60101142T2 (de) Bereitstellung von Diensten für tragbare Informationsgeräte über ein Informationstechnologienetz
DE60205208T2 (de) Verfahren zur Netzdienstenvermittlung
DE60208243T2 (de) Kommunikationsendgerät
US20220021735A1 (en) System and Method For Displaying and Operating multi-layered Item List in Web Browser With Supporting of Concurrent Users
DE102022200913A1 (de) System und verfahren zur verwaltung zusammengesetzter systeme unter verwendung von betriebsdaten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition