MX2007015444A - Almacenamiento de consultas en dispositivos con medios re-escribibles. - Google Patents

Almacenamiento de consultas en dispositivos con medios re-escribibles.

Info

Publication number
MX2007015444A
MX2007015444A MX2007015444A MX2007015444A MX2007015444A MX 2007015444 A MX2007015444 A MX 2007015444A MX 2007015444 A MX2007015444 A MX 2007015444A MX 2007015444 A MX2007015444 A MX 2007015444A MX 2007015444 A MX2007015444 A MX 2007015444A
Authority
MX
Mexico
Prior art keywords
query
request
target device
query result
readable medium
Prior art date
Application number
MX2007015444A
Other languages
English (en)
Inventor
Vladimir Sadovsky
Oren Rosenbloom
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 MX2007015444A publication Critical patent/MX2007015444A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

Se describen un sistema y metodo para preparar y almacenar consultas pre-determinadas en dispositivo con medios grandes re-escribibles (Figura 2). Esta invencion dirige el problema de procesar solicitudes de consulta de datos en dispositivo que pueden no tener el poder de procesamiento para regresar resultados de consulta en una forma puntual (Figura 2). Un dispositivo de solicitud consulta un dispositivo objetico para informacion, tal como informacion con relacion al contenido almacenado en el dispositivo objetivo (Figura 2). Si el dispositivo objetivo no es capaz de proporcionar un resultado de consulta puntual, el dispositivo objetivo no responde a la solicitud de consulta, sino que mas bien almacena la consulta (Figura 2). La siguiente vez que el dispositivo objetico se conecte a un dispositivo con un procesador de alto poder, tal como una computadora personal, el dispositivo de procesador genera un resultado de consulta y almacena el resultado de consulta en el dispositivo objetivo (Figura 2). La siguiente vez que el dispositivo objetivo se conecte al dispositivo solicitante, el resultado de consulta sera provisto al dispositivo solicitante (Figura 2).

Description

ALMACENAMIENTO DE CONSULTAS EN DISPOSITIVOS CON MEDIOS RE-ESCRIB1BLES ANTECEDENTES Crecientemente, los dispositivos electrónicos de consumidor tienen la capacidad de compartir información. Muchos dispositivos electrónicos de consumidor incluyen contenido, tal como contenido de medios, que puede accederse por otros dispositivos. Por ejemplo, un reproductor de música personal puede ser capaz de transferir archivos de música a un estéreo de automóvil, un estéreo doméstico, o un aparato de televisión, que puede reproducir los archivos de música. Como otro ejemplo, una cámara puede transmitir archivos de fotografía a una impresora para imprimirse, o a una computadora portátil que contiene un programa de editor de fotografía. En tales situaciones, puede ser ventajoso para un dispositivo consultar otro dispositivo, por ejemplo, para obtener información sobre sus contenidos. Por ejemplo, una televisión conectada a un reproductor de música personal puede consultar el reproductor de música para obtener una lista de archivos de música disponibles, o una impresora puede consultar una cámara para obtener una lista de las fotografía para imprimirse. Sin embargo, muchos dispositivos diseñados para capturar o almacenar contenido pueden incluir un procesador relativamente pequeño y capacidad de almacenamiento relativamente grande. Estos dispositivos pueden no estar bien adecuados para generar respuestas para solicitudes de consulta particulares. Por ejemplo, algunos dispositivos pueden en clarecer de la capacidad de procesamiento para responder rápidamente a solicitudes de consulta complejas que incluye operar en un grupo de datos grande. Estos dispositivos pueden ser capaces de responder a solicitudes de consulta en una forma a tiempo.
BREVE DESCRIPCIÓN DE LA INVENCIÓN En varias modalidades, se proporcionan un sistema y método para preparar y almacenar consultas predeterminadas en dispositivos con medios re-escribibles grandes. Cuando un dispositivo objetivo recibe una solicitud de consulta a la cual es incapaz de responder en una forma a tiempo, el dispositivo objetivo almacenará la solicitud de consulta. Cuando el dispositivo objetivo conecta a una computadora personal para una operación de sincronización, o de otra forma se coloca en comunicación con la máquina que tiene energía de procesamiento relativamente grande, la computadora personal u otro dispositivo de procesamiento responderán a la solicitud de consulta, y almacenará el resultado de consulta en el dispositivo objetivo. De esta forma, un dispositivo más capaz, tal como una computadora personal u otro dispositivo de procesamiento, responde a la solicitud de consulta y crea el resultado de consulta. En una modalidad particular, la computadora personal u otros dispositivos de procesamiento pueden utilizarse simplemente como un dispositivo de creación. En esta modalidad, el dispositivo de procesamiento puede no hacer ninguna de las solicitudes del dispositivo objetivo, más que eso genera resultados a consultas basadas en información histórica, información de usuario, u otra información no almacenada en el dispositivo objetivo. En una modalidad, el dispositivo de procesamiento puede realizar un método para responder a las solicitudes de consulta. El método puede incluir obtener al menos una solicitud de consulta de un dispositivo objetivo, la solicitud de consulta que se genera por un dispositivo de solicitud, y que determina si responde a la solicitud de consulta. El método además puede incluir, si la solicitud de consulta va a responderse, generar un resultado de consulta en respuesta a la solicitud de consulta y enviar resultado de consulta para almacenarse en el dispositivo objetivo para consumo por el dispositivo solicitante. El método puede representase en instrucciones ejecutables por computadora, almacenadas en uno o más medios legibles por computadora. En otra modalidad, un dispositivo objetivo puede realizar un método para responder a solicitudes de consulta. El método puede incluir obtener al menos una solicitud de consulta de un dispositivo solicitante, la solicitud de consulta siendo generada por un dispositivo solicitante, y determinar si un resultado de consulta en respuesta a la solicitud de consulta está disponible en el almacenamiento local. El método además puede incluir, en un resultado de consulta en respuesta a la solicitud de consulta que está disponible en el almacenamiento local, enviar el resultado de consulta al dispositivo solicitante; y si un resultado de consulta en respuesta a la solicitud de consulta no está disponible en el almacenamiento local, determinar si responde a la solicitud de consulta. El método también puede incluir, si la solicitud de consulta va a responderse, generar un resultado de consulta en respuesta a la solicitud de consulta y enviar el resultado de consulta de dispositivo solicitante; y si la solicitud solicitante va a responderse, almacenar el resultado de consulta para transmisión futura a un dispositivo de procesamiento. El método puede representarse en instrucciones ejecutables por computadora almacenadas en uno o más medios legibles por computadora. Incluso en otra modalidad, un dispositivo solicitante puede realizar un método para preparar y recibir una respuesta a una solicitud de consulta. El método puede incluir generar un resultado de consulta, enviar el resultado de consulta a un dispositivo objetivo, y obtener al menos un resultado de consulta de un dispositivo objetivo, al resultado de consulta que hace en respuesta a la solicitud en consulta que se genera por un dispositivo de procesamiento. El método puede representarse en instrucciones ejecutables por computadora almacenadas en uno o más medios legibles por computadora. Esta breve descripción se proporciona para introducir una selección de conceptos en una forma simplificada que además se describe posteriormente en la Descripción Detallada. Esta breve descripción no pretende identificar características claves o características esenciales del tema reclamado, ni pretende utilizarse como un auxiliar al determinar el alcance del tema reivindicado.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La presente invención se describe en detalle posteriormente con referencia a las Figuras de dibujos anexas, en donde: La Figura 1 es un diagrama de bloques que ilustra un ambiente computarizado en el cual pueden implementarse las modalidades de la invención; La Figura 2 es un diagrama de bloques que muestra un sistema de acuerdo con un aspecto de la presente invención; La Figura 3 es un cuadro de flujo que ilustra un método para consultar una solicitud, de acuerdo con una modalidad de la presente invención; y La Figura 4 es un cuadro de flujo que ilustra un método para conectarse a un dispositivo de procesador, de acuerdo con un aspecto de la presente invención.
DESCRIPCIÓN DETALLADA En una implementación, la invención se refiere a un sistema y método para preparar y almacenar consultas predeterminadas en dispositivos con medios re-escribibles grandes. La invención dirige el problema de procesar la solicitud de consulta de datos en dispositivos que pueden no tener en la energía de procesamiento para regresar resultados de grupo de datos en una forma a tiempo. Un dispositivo solicitante puede consultar a un dispositivo objetivo para información, tal como información que se relaciona al contenido almacenado en el dispositivo objetivo. Si el dispositivo objetivo no es capaz de proporcionar un resultado de consulta a tiempo, el dispositivo objetivo puede no responder a la solicitud de consulta, pero a su vez puede almacenar la consulta. La siguiente vez que el dispositivo objetivo se conecta a un dispositivo con un procesador con alta energía, tal como una computadora personal, el dispositivo de procesador puede producir el resultado de consulta, que puede basarse en el contenido del dispositivo objetivo, y puede almacenar el resultado de consulta en el dispositivo objetivo. La siguiente vez que el dispositivo se conecta al dispositivo solicitante, el resultado de consulta se proporcionara al dispositivo solicitante. La Figura 1 ilustra un ejemplo de un ambiente de sistema de cómputo adecuado 100 en el cual puede ¡mplementarse el sistema para preparar, almacenar, o procesar consulta. El ambiente de sistema de cómputo 100 es solo uh ejemplo de un ambiente de cómputo adecuado y no pretende sugerir ninguna limitación Al alcance de uso o funcionalidad de la invención. El ambiente de cómputo 100 tampoco debe interpretarse como obteniendo ninguna dependencia o requerimiento que se relaciona con cualquiera o combinación de componentes ilustrados en el ambiente operativo ilustrativo 100. La invención se describe en el contexto general de instrucciones ejecutables por computadora, tal como módulos de programa, que se ejecutan por una computadora. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc. que realizan tareas particulares o implementan tipos de datos abstractos particulares. Además, aquellos expertos en la técnica apreciarán que la invención pueden practicarse con otras configuraciones de sistema de cómputo, que incluyen dispositivos portátiles sistemas de multiprocesador, electrónica a base de microprocesador o de consumidor programable, microcomputadoras, o macrocomputadoras y similares. La invención también puede practicarse en ambientes de cómputo distribuidos en donde las tareas se realizan por dispositivos de procesamiento remotos y se enlazan a través de una red de comunicaciones. En un ambiente de cómputo distribuido, los módulos de programa pueden localizarse tanto en medios de almacenamiento de computadora local y remota que incluyen dispositivos de almacenamiento de memoria. Con referencia a la Figura 1, el sistema ilustrativo 100 para ¡mplementar la invención ¡ncluye un dispositivo de computadora de propósito general en la forma de una computadora 110 que incluye una unidad de procesamiento 120, una memoria de sistema 130, y un conductor común de sistema 121 que acopla varios componentes de sistema que incluye una memoria de sistema a la unidad de procesamiento 120. La computadora 110 típicamente incluye una variedad de medios legibles por computadora. A manera de ejemplo, y no de limitación, los medios legibles por computadora pueden comprender medios de almacenamiento por computadora y medios de comunicación. La memoria de sistema 130 incluye medios de almacenamiento de computadora en la forma de memoria volátil y/o no volátil tal como memoria solo de lectura (ROM) 131 y memoria de acceso aleatorio (RAM) 132. El sistema de entrada/salida básico 133 (BIOS), que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro de la computadora 110, tal como durante el arranque, tipicamente se almacena en ROM 131. La RAM 132 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles a y/o actualmente están siendo operados en la unidad de procesamiento 120. A manera de ejemplo, y no de limitación, la Figura 1 ilustra el sistema operativo 134, programas de aplicación 135, otros módulos de programa 136 y datos de programa 137. La computadora 110 también puede incluir otros medios de almacenamiento de computadora removibles/no removibles, volátiles/no volátiles. A manera de ejemplo solamente, la Figura 1 ilustra una unidad de disco duro 141 que lee de o escribe a medios magnéticos no removibles, no volátiles como una unidad de disco magnético 151 que lee de o escribe a un disco magnético removible, no volátil 152, y una unidad de disco óptico 155 que lee de o escribe a un disco óptico removible, no volátil 156 tal como un CD ROM u otro medio óptico. Otros medios de almacenamiento de computadora removibles/no removibles, volátiles/no volátiles que pueden utilizarse en el ambiente operativo ilustrativo incluyen, pero no se limitan a, cassettes de cinta magnética, tarjetas de memoria flash, discos versátiles digitales, cinta de video digital, RAM de estado sólido, ROM de estado de sólido, y similares. La unidad de disco duro 141 típicamente se conecta al conductor común de sistema 121 a través de una ¡nterfase de memoria no removible tal como interfase 140, y unidades de disco magnético 151 en unidad de disco óptico 155 que típicamente se conectan al conductor común de sistema 121 a través de una interfase de memoria removible, tal como interfase 150. Las unidades y sus medios de almacenamiento de computadora asociados discutidos anteriormente e ¡lustrados en la Figura 1, proporcionan almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora 110. En la Figura 1, por ejemplo, la unidad de disco duro 141 se ilustra como el sistema operativo de almacenamiento 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147. Se debe notar que sus componentes pueden ser los mismos o diferentes al sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. El sistema operativo 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147 aquí se les proporcionan números diferentes para ilustrarse, a un mínimo, son copias diferentes. Un usuario puede ingresar comandos de información en la computadora 110 a través de dispositivos de entrada tal como teclado 162 y dispositivo de señalamiento 161, comúnmente denominado como un ratón, seguíbola o almohadilla sensible al tacto. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, palanca de mandos, almohadilla de juegos, antena parabólica, escáneres o similares. Estos y otros dispositivos de entrada frecuentemente se conectan a la unidad de procesamiento 120 a través de una interfase de entrada de usuario 160 que se acopla al conductor común de sistema, pero puede conectarse a otra ¡nterfase y las estructuras de conductor común, tal como un puerto paralelo, o puerto de juegos o un conductor común en serie universal (USB). Un monitor 191 u otro tipo de dispositivo de presentación también se conecta al conductor común de sistema 121 a través de una interfase, tal como una interfase de video 190. Además del monitor, las computadoras también pueden incluir otros dispositivos de salida periféricos tal como bocinas 197 e impresora 196, que pueden conectarse a través de una interfase periférica de salida 195. La computadora 110 en la presente invención operar en un ambiente en red que utiliza conexiones lógicas a una o más computadoras remotas tal como una computadora remota 180. La computadora remota 180 puede ser una computadora personal, y típicamente incluye muchos o todos los elementos descritos anteriormente en relación de la computadora 110, aunque solo se ilustró un dispositivo de almacenamiento de memoria 181 y uno en la Figura 1. Las conexiones lógicas ilustradas en la Figura 1 incluyen una red de área local (LAN) 171 y una red de área ancha (WAN) 173, pero también prenden incluir otras redes. Cuando se utiliza en un ambiente en red de LAN, la computadora 110 se conecta a la LAN 171 a través de una ¡nterfase de red o adaptador 170. Cuando se utiliza en un ambiente en red de WAN, la computadora 110 típicamente incluye un módem 172 u otros medios para establecer comunicaciones en la WAN 173, tal como Internet. El módem 172, que puede ser interno o externo, puede conectarse a conductor común de sistema 121 a través de la interfase de entrada de usuario 160, u otro mecanismo apropiado. En un ambiente en red, los módulos de programa ilustrados relativos a la computadora 110, o porciones de la misma, pueden almacenarse en el dispositivo de almacenamiento de memoria remota. A manera de ejemplo, y no de limitación, la Figura 1 ilustra programas de aplicación remotos 185 como residentes en el dispositivo de memoria 181. Se apreciará que las conexiones en red mostradas son ilustrativas y pueden utilizarse otros medios para establecer un enlace de comunicaciones entre las computadoras. Aunque no se muestra en muchos otros componentes internos de la computadora 110, aquellos expertos en la técnica apreciarán que tales componentes y las interconexiones son bien conocidas. Por consiguiente, detalles adicionales concernientes a la construcción interna de la computadora 110 no necesitan describirse en conexión con la presente invención. La Figura 2 es un diagrama de bloques que ilustra una revisión de un sistema de acuerdo con una modalidad de la presente invención. Como se muestra en la Figura 2, un sistema 200 puede incluir un dispositivo solicitante 202, tal como un dispositivo electrónico de consumidor. El dispositivo solicitante 202 puede comunicarse con un dispositivo objetivo 204, tal como otro dispositivo electrónico de consumidor. El dispositivo objetivo además puede comunicarse con un Iniciador .206, que puede ser un dispositivo con energía de procesamiento relativamente alta, tal como una computadora personal, o similares. El dispositivo objetivo 204 puede incluir almacenamiento 208, que puede almacenar contenido 210, tal como contenido de medios. En operación, el dispositivo solicitante 202 puede recuperar contenido 210 del dispositivo objetivo 204. Por ejemplo, el dispositivo solicitante 202 puede recuperar contenido 210 con el fin de realizar reproducción, edición, impresión, o alguna otra operación en el contenido 210. Cada dispositivo solicitante 202, el dispositivo objetivo 204, y el Iniciador 206 pueden equiparse con uno o más motores y/o escritores de almacenamiento. Cada dispositivo solicitante 202 y el dispositivo objetivo 204 pueden ser, por ejemplo, un sistema de medios de construcción automotriz, un sistema de estéreo digital portátil, un sistema de entretenimiento doméstico no en red con almacenamiento de construcción, una cámara, un dispositivo de juegos portátiles, un teléfono móvil, una impresora, un asistente digital personal (PDA), o cualquier otro sistema electrónico. El dispositivo solicitante 202, dispositivo objetivo 204, y el Iniciador 206 cada uno implementan un protocolo que permite el intercambio de información cuando se establece una conexión en red. Por ejemplo, el dispositivo solicitante 202, el dispositivo objetivo 204, y el Iniciador 206 pueden tener conectores de Conductor común en Serie Universal (USB) 211 que permiten la conexión a través de cables de USB directos 212 o alguna combinación de cables de USB y centrales de USB. En algunas implementaciones, el dispositivo solicitante 202, el dispositivo objetivo 204, y el Iniciador 206 pueden implementar Protocolo de Transferencia de Medios (MTP) para permitir la transferencia de objetos de medios. En otras implementaciones, se puede utilizar comunicación de par a par inalámbrica, tal como, por ejemplo, comunicación entre dispositivos que implementan Bluetooth, Tecnologías de Banda Ultra Ancha (UWB) o 802.11. Aquellos expertos en la técnica apreciarán que pueden utilizarse otros protocolos de transferencia. En operación, cuando el dispositivo solicitante 202 y el dispositivo objetivo 204 se conectan, el dispositivo solicitante 202 puede consultar al dispositivo objetivo 204. Por ejemplo, el dispositivo solicitante 202 puede consultar el dispositivo objetivo 204 para obtener metadatos relacionados con el contenido 210 almacenado en el dispositivo objetivo 204. Al solicitar el dispositivo objetivo 204, el dispositivo solicitante 202 puede generar una o más solicitudes de consulta 213, que se transmiten al dispositivo objetivo 204. Cuando el dispositivo objetivo 204 recibe una solicitud de consulta 213 de un dispositivo solicitante, el dispositivo objetivo 204 puede determinar si va a generar un resultado de consulta. La determinación si el dispositivo de objetivo 204 es para generar un resultado de consulta puede depender, por ejemplo, de si el dispositivo objetivo 204 tiene suficiente energía de procesamiento para generar un resultado de consulta en una forma a tiempo. En dispositivo objetivo 204 puede generar un resultado de consulta 214 y regresar el resultado de consulta al dispositivo solicitante 202. Si el dispositivo objetivo 204 no va generar un resultado de consulta, el dispositivo objetivo puede almacenar el resultado de consulta 213. La solicitud de consulta 213 puede no responderse en este momento. Más que eso, la solicitud de consulta 213 puede responderse en una vez posterior, cuando el dispositivo objetivo se conecta al Iniciador 206. Cuando el dispositivo objetivo 204 se conecta al Iniciador 206, el Iniciador puede buscar el dispositivo objetivo 204 para solicitudes de consulta pendientes. Si se encuentran solicitudes de consultas pendientes, el Iniciador puede determinar si va a actuar como un dispositivo de procesamiento para generar un resultado de consulta.
Si el Iniciador 206 determina que tiene suficiente energía de procesamiento o de otra forma adecuada para actuar como un dispositivo de procesamiento, el Iniciador 206 puede generar uno o más resultados de consulta 204 y los almacena en el dispositivo objetivo 204. La siguiente vez que el dispositivo solicitante 202 y el dispositivo objetivo 204 se conecten, el dispositivo solicitante 202 puede recuperar las solicitudes de consulta 214 del dispositivo objetivo 204. En una implementación, tanto la solicitud de consulta 213 como el resultado de consulta 214 pueden contener un objeto que representa la consulta original como se generó por el dispositivo solicitante 202. Esto puede asegurar, por ejemplo, que las solicitudes de consulta duplicadas 214 no se almacenan en el dispositivo objetivo 204, o que los resultados de consulta 213 que ya están presentes pueden regresarse en respuestas a nuevas solicitudes de consulta cuando sea apropiado. Además, los resultados de consulta 214 pueden contener un Boolean variable u otro marcador para indicar si son consultas pendientes o ya se respondieron. Por ejemplo, esto puede asegurar que las solicitudes de consulta no se respondan innecesariamente a múltiples veces. En algunos casos, las solicitudes de consulta 213 pueden relacionarse con el contenido 210 almacenado en el dispositivo objetivo 204, o de otra forma relacionada con el dispositivo objetivo 204. Sin embargo, en otros casos, las solicitudes de consulta 213 pueden no relacionarse con el dispositivo objetivo 204. Las solicitudes de consulta 213 pueden relacionarse, por ejemplo, al dispositivo solicitante 202, al Iniciador 206, a otro dispositivo externo, o pueden solicitar información general. De esta forma, el dispositivo objetivo 204 puede utilizarse para transformar información entre el dispositivo solicitante 202 y el Iniciador 206. Por ejemplo, un aparato en televisión puede consultar un reproductor de música personal para información de guía de televisión. Cuando el reproductor de música personal se conecta a una computadora personal, la computadora personal puede obtener información de guía de televisión de Internet, de su propio almacenamiento, o de alguna otra fuente. La computadora personal puede almacenar de guía de televisión en el reproductor de música como un resultado de consulta. Cuando el reproductor de música personal se conecta a la televisión, la televisión puede obtener la información de guía de televisión del reproductor de música personal. Aquellos expertos en la técnica apreciarán que este ejemplo es ilustrativo, y contemplarán otras formas en las cuales puede utilizarse el dispositivo objetivo 204 para trasportar información entre el dispositivo solicitante 202 y el Iniciador 206. La Figura 3 es un cuadro de flujo que ¡lustra un método para consultar una solicitud. Como se muestra en la Figura 3, el método puede comenzar en el paso 300, en donde un dispositivo solicitante puede generar una solicitud de consulta. La solicitud de consulta puede, por ejemplo, ser una solicitud para información que se relaciona con el dispositivo objetivo. Alternativamente, la solicitud de consulta puede ser una solicitud por información que se relaciona por el dispositivo solicitante, información que se relaciona con un dispositivo de procesamiento, información relacionada con otro dispositivo externo, o información general. En el paso 302, el dispositivo objetivo puede recibir la solicitud de consulta. En el paso 304, el dispositivo objetivo determina si el resultado de consulta está disponible. Por ejemplo, si el dispositivo objetivo ya obtuvo el resultado de consulta de un dispositivo de procesamiento, el dispositivo objetivo contendrá el resultado de consulta, y el resultado de consulta estará disponible. Si el dispositivo solicitante hace la solicitud de consulta por primera vez, el dispositivo objetivo probablemente no tendrá el resultado de consulta disponible. Si el resultado de consulta está disponible, tal como, por ejemplo, si el dispositivo objetivo recibió previamente al resultado de consulta de un dispositivo de procesamiento o si el dispositivo objetivo generó previamente el resultado de consulta, el dispositivo objetivo regresará el resultado de consulta al solicitante en el paso 306. Si el resultado de consulta no está disponible, puede determinarse en el paso 308 si el dispositivo objetivo va a generar el resultado de consulta. Por ejemplo, si el dispositivo objetivo tiene un procesador relativamente poderoso y/o tiene relativamente o almacenamiento, el dispositivo objetivo puede ser capaz de generar el resultado de consulta. La determinación si el dispositivo objetivo va a generar el resultado puede determinarse, por ejemplo, basándose en energía de procesamiento de dispositivo objetivo, el almacenamiento del dispositivo objetivo, y la solicitud de consulta particular. Si se determina en el paso 308 que el dispositivo objetivo va a generar el grupo de resultado, el dispositivo objetivo puede generar el grupo de resultado en el paso 310. El dispositivo objetivo puede almacenar el grupo de resultado en el paso 312. De esa forma, la siguiente vez que el dispositivo solicitante u otro dispositivo hace una solicitud de consulta idéntica, el resultado de consulta puede estar disponible en el paso 304 y puede regresarse en el paso 306. En algunas implementaciones, no solo el resultado de consulta si no en la solicitud de consulta pueden almacenarse en el paso 312. Por ejemplo, la solicitud de consulta puede almacenarse en una investigación para indicar que la solicitud de consulta es una solicitud en curso, y que debe generarse un nuevo resultado de consulta en respuesta a la solicitud de consulta en una base regular. Por ejemplo, la solicitud de consulta almacenada en la investigación puede indicar que debe generarse un nuevo resultado de consulta cada vez que el contenido almacenado en el dispositivo objetivo cambia, cada vez que el dispositivo objetivo se conecta el dispositivo solicitante, o similares. Si se determina en el paso 308 que el dispositivo objetivo no va a generar el grupo de resultado, el método puede continuar en el paso 314, en donde el dispositivo objetivo puede almacenar la solicitud de consulta. Por ejemplo, el dispositivo objetivo puede almacenar la solicitud de consulta en una investigación para que pueda responderse en un momento posterior por el dispositivo de procesador. En algunos casos, la solitud de consulta puede ser persistente, o puede permanecer en la investigación e incluso después de que se respondió. Una solitud de consulta persistente puede indicar, por ejemplo, que la solicitud de consulta va a responderse en una base regular, tal como cada vez que el dispositivo objetivo se conecta al dispositivo de procesador. En otros casos, la solicitud de consulta puede persistir hasta que se respondió. Este tipo de solicitud de consulta puede conocerse como una solicitud de consulta de "una vez", y puede indicar que la solicitud de consulta se va a responder solo una vez. Se apreciará que por aquellos expertos en la técnica que otros tipos de solicitudes de consulta que persisten para otras longitudes de tiempo pueden utilizarse. En el paso 316, el dispositivo objetivo puede comunicar estado "pendiente" al dispositivo solicitante. Esto indica, por ejemplo, que la solicitud de consulta se investigue y se respondió en un momento posterior, tal como cuando el dispositivo objetivo se conecta a un dispositivo de procesamiento. En el paso 318, el dispositivo solicitante puede comunicar el estado pendiente del usuario, tal como presentar al usuario un cuadro de diálogo que indica que la solicitud de consulta se respondió en un momento posterior o por cualquier otro método apropiado. Mientras se describió el método como regresando un resultado de consulta o investigando una solicitud de consulta, en alguna implementación, puede regresarse un resultado de consulta y puede investigarse un resultado de consulta. Por ejemplo, un dispositivo objetivo puede tener disponible, o puede ser capaz de generar, un resultado de consulta parcial a una solicitud de consulta particular. En este caso, el dispositivo objetivo puede regresar un resultado de consulta parcial al solicitante y también puede almacenar la solicitud de consulta para responderse en un momento posterior. Como un ejemplo particular, la televisión puede solicitar una lista de toda la música en un reproductor de música personal. El reproductor de música personal puede ser capaz de regresar la lista de nombres de archivo muy rápidamente, pero no puede ser capaz de regresar los metadatos asociados con cada archivo, tal como el título, el artista, y similares, en una forma a tiempo. En este caso, el reproductor de música personal puede regresar la lista de nombres de archivo, y también puede almacenar la solicitud de consulta. El reproductor de música personal puede almacenar la solicitud de consulta completa, o puede almacenar solamente una solicitud de consulta parcial. Por ejemplo, la porción de la solicitud de consulta que aún no se respondió. Cuando el reproductor de música personal se conecta a un dispositivo de procesador y el grupo se crea y almacena en el reproductor de música personal, con la siguiente conexión con la televisión, el reproductor de música personal puede regresar un resultado de consulta completo que incluye un grupo más rico de metadatos, más que regresar solamente el nombre de archivo. Otras circunstancias pueden resultar en un dispositivo objetivo al regresar un resultado de consulta y almacenar una solitud de consulta. Como otro ejemplo, un dispositivo objetivo puede ser capaz de responder a una solicitud de consulta, pero el dispositivo objetivo puede tomar un periodo relativamente largo de tiempo para hacerlo. En este caso, el dispositivo objetivo puede responder a la solitud de consulta, pero puede almacenar la solicitud de consulta y marcar como "bajo desempeño". La siguiente vez que el dispositivo objetivo se conecta a un dispositivo de procesamiento, el dispositivo de procesamiento puede generar un resultado de consulta en respuesta a la solicitud de consulta y almacenarlo en el dispositivo objetivo, para que una solicitud de consulta subsecuente pueda responderse en el periodo de tiempo más corto. Esta modalidad puede ser útil, por ejemplo, cuando el solicitante no es capaz de controlar solicitudes de consulta "pendiente", pero es capaz de esperar un periodo relativamente largo de tiempo para un resultado de consulta. Para implementar tales modalidades, cada dispositivo objetivo puede almacenar un valor de umbral, y todas las solicitudes de consulta que resultan en un tiempo de procesamiento en el valor de umbral pueden investigarse. En una implementación, el Protocolo de Transferencia de Medios (MTP) se utiliza para estandarizar la comunicación entre el dispositivo solicitante, el dispositivo objetivo, y el dispositivo de procesamiento. En otras implementaciones, son posibles otros protocolos de comunicación. Aunque la invención no se limita por el protocolo de comunicación utilizado, se discutirá una ¡mplementación particular en la cual se utiliza MTP. En esta implementación, el dispositivo solicitante puede utilizar la operación de la Obtener Lista de Propiedad de Objeto de MTP para generar una solicitud de consulta 300 y para emitir la solicitud de consulta al dispositivo objetivo 302. El dispositivo objetivo puede intentar en el paso 304 encontrar un objeto almacenado en su sistema de archivo que representa los resultados de consulta para esta consulta. Si no se encuentra ningún objeto, el dispositivo objetivo puede determinar 308 si genera un resultado de consulta. La determinación si la solicitud debe generarse por el dispositivo objetivo 308 es una heurística que puede ser dependiente del dispositivo. Puede depender, por ejemplo, en las características de las capacidades de procesamiento del dispositivo, el tamaño y la velocidad del almacenamiento de datos, y el conductor común de comunicación la cual satisface actualmente la solicitud. Similarmente, otra heurística se utilizará para determinar si el dispositivo objetivo se conecta a un dispositivo de procesamiento u otro dispositivo que es capaz de procesar los resultados de consulta. Esta heurística puede estar en el lado del dispositivo de procesamiento, que puede denominarse el "Iniciador". Cuando el dispositivo objetivo se conecta a un Iniciador, el Iniciador puede interrogar el dispositivo objetivo para determinar si puede actuar como un dispositivo de procesamiento para responder a la consulta.
Si el dispositivo objetivo determina 308 que va a generar el resultado de consulta, el dispositivo objetivo satisfacerá la solicitud de consulta al producir un grupo de resultado de consulta 310. El dispositivo objetivo entonces puede producir opcionalmente un objeto MTP con un código de formato que describe de forma adecuada el objeto como un grupo de resultado de consulta. Este objeto también puede tener un grupo de propiedades de metadatos para que puedan compararse solicitudes de consultas futuras con este objeto y determinarse si este objeto es un grupo de resultado de consulta adecuado. Si el dispositivo objetivo determina 308 que debe diferir la creación de grupo de resultado a un dispositivo de procesador más poderoso o computadora personal, el paso 314, puede crear un objeto de MTP con un código de formato que indica que esta es una consulta pendiente que necesita procesamiento. La Figura 4 es un cuadro de flujo que ilustra un método para conectar un dispositivo de procesador. Como se muestra en la Figura 4, el método puede comenzar en el paso 400, en donde un dispositivo objetivo puede conectarse a un Iniciador, tal como una computadora personal, computadora portátil, u otro dispositivo de cómputo. En otra implementación, el dispositivo objetivo conecta el Iniciador durante una operación de sincronización. En este caso, gran parte de los metadatos y otra información que se utiliza en el método de la Figura 4 pueden transmitirse entre el dispositivo objetivo y el Iniciador durante la operación de sincronización y utilizarse para otros propósitos. De esa forma, al realizar el método de la Figura 4 concurrentemente con una operación de sincronización u otra operación, el ancho de banda puede reducirse y el tiempo de comunicación total entre el dispositivo objetivo y el Iniciador puede reducirse. En el paso 402, el Iniciador puede buscar el dispositivo objetivo por solicitudes de consulta pendientes, tal como, por ejemplo, al recuperar una o más consultas de una investigación. En el paso 406, se determinan si cualquiera de las solicitudes de consulta pendientes se encontró. Si no se encontró ninguna solicitud de consulta pendiente, el método puede terminar. Si se encontraron una o más solicitudes de consulta pendientes, el método puede continuar en el paso 408, en donde el Iniciador puede determinar si va a generar un resultado de consulta para una o más solicitudes de consultas pendientes. Cuando el dispositivo objetivo se conecta a un Iniciador, el Iniciador puede interrogar al dispositivo objetivo para determinar si puede actuar como un dispositivo de procesamiento para responder a una o más de las solicitudes de consulta pendientes. La determinación si el Iniciador va a genera el resultado 408 puede determinarse, por ejemplo,, basándose en la energía de procesamiento del iniciador, el almacenamiento del dispositivo objetivo, y la solicitud de consulta particular. La determinación si el resultado de consulta debe generarse por el Iniciador 408 es una heurística que puede obtener, por ejemplo, de las características de las capacidades de procesamiento del Iniciador, el tamaño y la velocidad del almacenamiento de datos del dispositivo objetivo, y el conductor común de comunicación al cual satisface actualmente la solicitud. Esta heurística puede estar en el lado del Iniciador. Si el Iniciador determina que no va a generar un resultado de consulta para cualquiera de las solicitudes de consulta pendientes, por ejemplo, debido a que el Iniciador carece de energía de procesamiento suficiente o por alguna otra razón, el método puede terminar. Si el Iniciador determina si va a generar un resultado de consulta para una o más de las solicitudes de consulta pendientes, el Iniciador actúa como un dispositivo de procesamiento, y el método puede continuar en el paso 410. En el paso 410, el Iniciador genera uno o más de los resultados de consulta que responden a uno o más de las solicitudes de consulta pendientes. En una implementación, para cada solicitud de consulta, el Iniciador puede omitir comandos adecuados al dispositivo objetivo para que pueda operar en su contenido y producir resultados de consulta. En una implementación, los resultados de consulta pueden contener metadatos como se solicitó por la solicitud de consulta, y también pueden contener un índice, tal como un Control de Objeto en MTP, que enlaza estos metadatos al objeto real en el dispositivo. Además, los resultados de consulta pueden estar en un formato de archivo que pueden consumirse fácilmente por el solicitante de consulta original. Un método para producir resultados de consulta en tal formato de archivo fácilmente consumible es producir el grupo de resultado en la misma forma que resultados que MTP producidos por la operación de Obtener Lista de Propiedad de Objeto, específicamente el grupo de datos de Lista de propiedad e objeto. Incluso en otra forma de producir resultados de consulta en un formato de archivo fácilmente consumible que es para el dispositivo solicitante para especificar el dispositivo objetivo el formato para el cual desea recibir los resultados. El Iniciador entonces producirá los resultados de consulta en este formato fácilmente consumibles. En el paso 412, los resultados de consulta pueden concebirse al dispositivo objetivo. En el paso 414, el dispositivo objetivo puede almacenar los resultados de consulta. En la implementación, los resultados de consulta pueden marcarse, como con un código de formato o por algún otro método apropiado, para indicar que es un grupo de resultados. En una implementación, los metadatos asociados con cada resultado de consulta contendrán el objeto de resultado de consulta original. La solicitud de consulta original puede incluirse, como una propiedad de objeto binario, o enlazarse al resultado de consulta con una referencia de MTP. Dependiendo en cuanto tiempo persiste la solicitud de consulta, la solicitud de consulta puede removerse de la investigación, o puede marcarse para indicar que ya no está pendiente. Mientras las modalidades particulares de la invención se ilustraron y describieron aquí en detalle, se debe entender que pueden hacerse varios cambios y modificaciones a la invención sin apartarse del alcance e intención de la invención. Las modalidades aquí descritas pretenden en todos los aspectos ser ilustrativas más que restrictivas. Modalidades alternas serán evidentes para aquellos expertos en la técnica a los cuales pertenece la presente invención sin aparatarse de su alcance. Por ejemplo, mientras el solicitante se describió como para crear y almacenar una consulta completa, las modalidades de la invención permiten al solicitante utilizar "plantillas de consulta". Las plantillas de consulta son, por ejemplo, consultas que contiene una o más referencias de parámetro en lugar de parámetros particulares. Las referencias de parámetro pueden llenarse por el dispositivo de procesamiento cuando los resultados de consulta van a generarse. Por ejemplo, un solicitante puede enviar una solicitud de consulta a un reproductor de video personal, que pide una lista de programas de televisión muy recientemente grabados. En este caso, uno de los parámetros en la solicitud de consulta será "la fecha de hoy". Más que especificar la fecha de hoy en la, solicitud de consulta, el solicitante puede generar una solicitud de consulta que incluye una referencia de parámetro, tal como % fecha %. Cuando el dispositivo de procesamiento responde a la consulta, el dispositivo de procesamiento sustituirá el valor específico, tal como la fecha actual, para la referencia de parámetro. En modalidades de la presente invención, el almacenamiento removible es como un dispositivo objetivo. En este caso, el almacenamiento removible, tal como una microunidad, puede utilizase para comunicación entre el dispositivo de medios una computadora personal. En este caso, el almacenamiento removible puede contener una grana colección de contenido de medios junto con resultados de consulta y resultados de consulta asociados. En este caso, el almacenamiento removible puede insertarse en una computadora personal para transferir contenido de un dispositivo de medios a la computadora personal, como durante una operación de sincronización, mientras también comunica información de dispositivo con respecto al dispositivo de medios. Cuando el almacenamiento removible se inserta posteriormente en el dispositivo de medios, los resultados de consulta almacenados pueden utilizarse para acelerar el acceso al contenido de medios en el almacenamiento removible. Cuando el dispositivo de medios sirve en una solicitud de consulta con respecto al contenido del almacenamiento removible, determina si es capaz de generar un resultado de consulta en una forma tiempo. Si el dispositivo de medios no es capaz de generar un resultado de consulta en una forma a tiempo, almacena la solicitud de consulta en el almacenamiento removible. Cuando el almacenamiento removible en la computadora personal, la computadora personal puede generar resultados de consulta y almacenar los resultados de consulta en el almacenamiento removible para consumo posterior por el dispositivo de medios. A partir de lo anterior se puede observar que esta invención está bien adaptada para obtener todos los fines y objetos mencionados anteriormente, junto con otras ventajas, que son obvias e inherentes del sistema y el método. Se apreciará que ciertas características y subcombinaciones son de utilidad y pueden emplearse sin referencia a otras características y subcombinaciones. Además, aunque números de referencias, los términos "pasos" y/o "bloque", y similares pueden utilizarse aquí para connotar diferentes elementos de métodos empleados, estos números y términos de referencia no deben interpretarse como implicando cualquier otro orden particular entre dos o más de los varios elementos de método aquí descritos a menos y excepto cuando el orden de los elementos de método individuales se describen implícitamente como se requiere. Esto se contempla y está dentro del alcance de las reivindicaciones anexas.

Claims (14)

REIVINDICACIONES
1.- Uno o más medios legibles por computadora que almacenan instrucciones en estos, las instrucciones siendo ejecutables para hacer que un dispositivo de procesamiento realice un método que comprende: obtener al menos una solicitud de consulta de un dispositivo objetivo, la solicitud de consulta siendo generada por un dispositivo solicitante; determinar si responde a la solicitud de consulta; si la solicitud de consulta se va a responder, generar un resultado de consulta en respuesta a la solicitud de consulta; y enviar el resultado de consulta para almacenarse en el dispositivo objetivo para consumo por el dispositivo solicitante.
2.- El medio legible por computadora de acuerdo con la reivindicación 1, en donde determinar si responder a la solicitud de consulta se basa en una energía de procesamiento.
3.- El medio legible por computadora de acuerdo con la reivindicación 1, en donde determinar si responder a la solicitud de consulta se basa en el contenido del dispositivo objetivo.
4.- El medio legible por computadora de acuerdo con la reivindicación 1, en donde el dispositivo objetivo comprende: un medio de almacenamiento removible.
5.- El medio legible por computadora de acuerdo con la reivindicación 1, en donde generar un resultado de consulta comprende: operar en los contenidos del dispositivo objetivo para producir un resultado de consulta.
6.- El medio legible por computadora de acuerdo con la reivindicación 1, en donde el formato del resultado de consulta se especifica por el dispositivo solicitante.
7.- El medio legible por computadora de acuerdo con la reivindicación 1, en donde el formato de la solicitud de consulta y el formato del resultado de consulta se conforman al Protocolo de Transferencia de Medios.
8.- Uno o más medios legibles por computadora que almacenan instrucciones en el mismo, las instrucciones que son ejecutables para hacer que el dispositivo objetivo realice un método que comprende: obtener al menos una solicitud de consulta del dispositivo solicitante, la solicitud de consulta siendo , generada por el dispositivo solicitante; determinar si un resultado de consulta en respuesta a la solicitud de consulta está disponible en el almacenamiento local; si un resultado de consulta en respuesta a la solicitud de consulta está disponible en el almacenamiento local, enviar el resultado de consulta al dispositivo solicitante; si un resultado de consulta en respuesta a la solicitud de consulta no está disponible en el almacenamiento local determinar si respondió a la solicitud de consulta; si la solicitud de consulta se va a responder, generar un resultado de consulta en respuesta a la solicitud y enviar un resultado de consulta al dispositivo solicitante; y si la solicitud de consulta no va responderse, almacenar el resultado de consulta para transmisión futura a un dispositivo de procesamiento.
9.- El medio legible por computadora de acuerdo con la reivindicación 8, en donde determinar si responder a la solicitud de consulta se basa en energía de procesamiento.
10.- El medio legible por computadora de acuerdo con la reivindicación 8, en donde determinar si responder a la solicitud de consulta se basa en contenido.
11.- El medio legible por computadora de acuerdo con la reivindicación 8, en donde determinar si responder a la solicitud de consulta se basa en la solicitud de consulta.
12.- El medio legible por computadora de acuerdo con la reivindicación 8, en donde generar un resultado de consulta comprende: operar un contenido para producir un resultado de consulta.
13.- El medio legible por computadora de acuerdo con la reivindicación de acuerdo con la reivindicación 8, en donde el formato del resultado de consulta se especifica por el dispositivo solicitante.
14.- El medio legible por computadora de acuerdo con la reivindicación 8, en donde el formato de la solicitud de consulta y el formato del resultado de consulta conforman con el Protocolo de Transferencia de Medios 15 - Uno o más medios legibles por computadora que almacenan instrucciones en él, las instrucciones que son ejecutables para hacer que un dispositivo solicitante realice un método que comprende generar una solicitud de consulta, enviar la solicitud de consulta a un dispositivo objetivo, y obtener al menos un resultado de consulta de un dispositivo objetivo, el resultado de consulta hace en respuesta a la solicitud de consulta y se genera por un dispositivo de procesamiento 16 - El medio legible por computadora de acuerdo con la reivindicación 15, en donde el dispositivo objetivo determina que no va a producir el resultado de consulta 17 - El medio legible por computadora de acuerdo con la reivindicación 15, en donde la solicitud de consulta va almacenarse en el dispositivo objetivo 18 - El medio legible por computadora de acuerdo con la reivindicación 15, en donde el dispositivo de procesamiento genera el resultado de consulta al operar el contenido del dispositivo objetivo 19 - El medio legible por computadora de acuerdo con la reivindicación 15, en donde el formato del resultado de consulta se especifica por el dispositivo solicitante 20 - El medio legible por computadora de acuerdo con la reivindicación 15, en donde el formato de la solicitud de consulta y el formato del resultado de consulta conforman con el Protocolo de Transferencia de Medios.
MX2007015444A 2005-06-24 2006-04-26 Almacenamiento de consultas en dispositivos con medios re-escribibles. MX2007015444A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/165,193 US20060294064A1 (en) 2005-06-24 2005-06-24 Storing queries on devices with rewritable media
PCT/US2006/015672 WO2007001608A2 (en) 2005-06-24 2006-04-26 Storing queries on devices with rewritable media

Publications (1)

Publication Number Publication Date
MX2007015444A true MX2007015444A (es) 2008-02-25

Family

ID=37568798

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007015444A MX2007015444A (es) 2005-06-24 2006-04-26 Almacenamiento de consultas en dispositivos con medios re-escribibles.

Country Status (10)

Country Link
US (1) US20060294064A1 (es)
EP (1) EP1896994A2 (es)
JP (1) JP2008547109A (es)
KR (1) KR20080024138A (es)
CN (1) CN101203854A (es)
BR (1) BRPI0612313A2 (es)
MX (1) MX2007015444A (es)
RU (1) RU2007147989A (es)
TW (1) TW200705187A (es)
WO (1) WO2007001608A2 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627645B2 (en) * 2005-06-27 2009-12-01 Microsoft Corporation Remotely controlling playback of content on a stored device
US20080195750A1 (en) * 2007-02-09 2008-08-14 Microsoft Corporation Secure cross platform auditing
US20090083765A1 (en) * 2007-09-20 2009-03-26 Microsoft Corporation Accessing device-hosted services from scripting and other programming environments
US20090182774A1 (en) * 2008-01-16 2009-07-16 Scott Krig Method And System For Protocol Operations And Datasets To Manage Object Identification Numbers
US20230197067A1 (en) * 2021-12-20 2023-06-22 Rovi Guides, Inc. Methods and systems for responding to a natural language query

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370543B2 (en) * 1996-05-24 2002-04-09 Magnifi, Inc. Display of media previews
US6397206B1 (en) * 1999-12-15 2002-05-28 International Business Machines Corporation Optimizing fixed, static query or service selection and execution based on working set hints and query signatures
US6871204B2 (en) * 2000-09-07 2005-03-22 Oracle International Corporation Apparatus and method for mapping relational data and metadata to XML
US7111020B1 (en) * 2002-03-26 2006-09-19 Oracle International Corporation Incremental refresh of materialized views containing rank function, and rewrite of queries containing rank or rownumber or min/max aggregate functions using such a materialized view
US8150937B2 (en) * 2004-10-25 2012-04-03 Apple Inc. Wireless synchronization between media player and host device
JP4382659B2 (ja) * 2002-06-13 2009-12-16 ヴォウダフォン・グループ・ピーエルシー ネットワークセキュリティ
US6938036B2 (en) * 2002-10-24 2005-08-30 International Business Machines Corporation Query modification analysis
US7532628B2 (en) * 2002-12-30 2009-05-12 Cisco Technology, Inc. Composite controller for multimedia sessions
US7673020B2 (en) * 2003-05-02 2010-03-02 Microsoft Corporation System and method for facilitating communication between a computing device and multiple categories of media devices
US7127449B2 (en) * 2003-08-21 2006-10-24 International Business Machines Corporation Data query system load optimization
US7502820B2 (en) * 2004-05-03 2009-03-10 Microsoft Corporation System and method for optimized property retrieval of stored objects
US7555554B2 (en) * 2004-08-06 2009-06-30 Microsoft Corporation System and method for generating selectable extension to media transport protocol
US8370216B2 (en) * 2005-03-04 2013-02-05 Amazon Technologies, Inc. Personalized preloading of digital content
US20060224628A1 (en) * 2005-03-29 2006-10-05 Bea Systems, Inc. Modeling for data services
US20060288036A1 (en) * 2005-06-17 2006-12-21 Microsoft Corporation Device specific content indexing for optimized device operation

Also Published As

Publication number Publication date
EP1896994A2 (en) 2008-03-12
JP2008547109A (ja) 2008-12-25
WO2007001608A3 (en) 2007-11-22
CN101203854A (zh) 2008-06-18
US20060294064A1 (en) 2006-12-28
RU2007147989A (ru) 2009-06-27
KR20080024138A (ko) 2008-03-17
WO2007001608A2 (en) 2007-01-04
TW200705187A (en) 2007-02-01
BRPI0612313A2 (pt) 2010-11-03

Similar Documents

Publication Publication Date Title
US20210350070A1 (en) Distributed Document Co-Authoring and Processing
RU2427026C2 (ru) Специфическая для устройства индексация содержимого для оптимизированной работы устройства
CN104520834B (zh) 用于向第三方应用端到端地暴露原生数据类型的导出的表示的系统和方法
CN103620549B (zh) 用于统一数据存储的存储介质抽象
KR101261660B1 (ko) 미디어 전송 통신의 직렬화
US20120192064A1 (en) Distributed document processing and management
US8458156B1 (en) Learning common spelling errors through content matching
JP2009525533A (ja) Xna関係管理
US10025761B2 (en) Virtual embedding of files in documents
US8706778B2 (en) Methods and systems for an action-based interface for files and other assets
MX2007015444A (es) Almacenamiento de consultas en dispositivos con medios re-escribibles.
JP2007179198A5 (es)
US8103559B2 (en) Maintenance of group shared inventories in a virtual universe
US20090119608A1 (en) Face and subject tagging with relationship indexing in files to enhance organization and usability
KR20080021072A (ko) 디바이스에 저장된 컨텐트의 재생을 원격으로 제어하는시스템, 방법 및 컴퓨터 판독가능 매체
US7516164B2 (en) Data transfer method and server computer system
US7952734B2 (en) Image processor updating a master file stored in a file server, method of controlling the same, and a program product for processing images
CN104137073B (zh) 一种获取文件的方法和装置
JP2008077206A5 (es)
JP4337284B2 (ja) ファイル管理プログラム、およびファイル管理方法
JP4238318B2 (ja) データ管理装置
KR100694157B1 (ko) 홈 네트워크의 멀티미디어 컨텐츠를 관리하는 방법 및 장치
JP2010073013A (ja) データ通信システムおよびサーバ装置およびその制御方法およびプログラム
EP2250571A1 (en) Apparatus for storing and processing contents and method of transmitting object meta information on contents using media transfer protocol from the apparatus
EP1182583A2 (en) System and method for transmitting data over computer networks

Legal Events

Date Code Title Description
FA Abandonment or withdrawal